PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgresql - Datenbank und Tabelle dynamisch erstellen

Ich würde dies tun:

string connStr = "Server=localhost;Port=5432;User Id=postgres;Password=enter;";
var m_conn = new NpgsqlConnection(connStr);
var m_createdb_cmd = new NpgsqlCommand(@"
    CREATE DATABASE IF NOT EXISTS testDb
    WITH OWNER = postgres
    ENCODING = 'UTF8'
    CONNECTION LIMIT = -1;
    ", m_conn);
m_conn.Open();
m_createdb_cmd.ExecuteNonQuery();
m_conn.Close();

connStr = "Server=localhost;Port=5432;User Id=postgres;Password=enter;Database=testDb";
m_conn = new NpgsqlConnection(connStr);
m_createtbl_cmd = new NpgsqlCommand(
   "CREATE TABLE table1(ID CHAR(256) CONSTRAINT id PRIMARY KEY, Title CHAR)"
   , m_conn);
m_conn.Open();
m_createtbl_cmd.ExecuteNonQuery();
m_conn.Close();

Die Verwendung von var hier ist nicht zu empfehlen. Ich habe es verwendet, da ich nicht weiß, was die zurückgegebenen Typen sind, aber Sie sollten es tun.

Beachten Sie die Verwendung einer Rohzeichenfolge (@ ). Es macht das Erstellen von Strings einfach.

Verwenden Sie in Postgresql keine Bezeichner in doppelten Anführungszeichen, es sei denn, der Bezeichner ist anderweitig illegal. Es wird Ihnen das Leben viel schwerer machen.