connection erstellen

Hallo,

Ich habe einen Script wo ich einen DB erstelle unnd anschliessend die Tabelle hinzufüge (alles im gleichen script).

Ich muss im PGAdmin immer erst eine neue verbindung zur DB erstellen bevor ich die Tabellen anlegen kann.

Gibt es einen Befehl wo man eine verbindung zur DB erstellen kann wie im MS SQL Server wie use database x??

CREATE DATABASE "DSM"
  WITH OWNER = raphael
       ENCODING = 'SQL_ASCII'
       TABLESPACE = pg_default;

//Hier muss ich eine verbindung zur DB erstellen zuerst, aber wie?

CREATE TABLE artist_tbl (
    artist_id 		serial NOT NULL ,
    artist		varchar(50),
    PRIMARY KEY (artist_id)
);
CREATE UNIQUE INDEX artist_idx ON  artist_tbl(artist);

Hallo raphaelf,

der Befehl lautet:

 \connect <datenbank>

ist darin der Name der Datenbank



mfg

fristo

hallo fristo

was mache ich falsch?

CREATE DATABASE "DSM"
  WITH OWNER = raphael
       ENCODING = 'SQL_ASCII'
       TABLESPACE = pg_default;

\connect <DSM>

Fehler:ERROR: syntax error at or near “” bei Zeichen 1

Hallo raphaelf,

du machst nicht falsch. Es geht so unter PgAdmin nicht. “\connect …” ist ein Komandozeilen-Befehl. Es funktioniert also nur, wenn Du das Script mit psql.exe aufrufst.

Das erstellen eines Scrips kannst Du dir aber vereinfachen, indem Du deine Datenbank, Tabellen und … mittels PgAdmin händisch erzeugt. Wenn Du soweit bist, erstellst Du ein Backup im PLAIN-MODE, wobei zumindest “Datenbank erzeugen” aktiviert ist. (“Datenbank droppen” nicht aktivieren, ergibt eine Fehlermeldung!) In dem Script sind dann alle Information enthalten, die man zur Erzeugen der vollständigen Datenbank benötigt. Man braucht nur noch dann das Script dann mittels psql.exe ausführen zu lassen. Wenn das Script auch Daten enthalten soll, muss Du noch andere Options aktivieren. Entsprechend der Notwendigkeit kannst Du auch andere Backup-Modes verwenden.

Übrigens, wenn Du unter PgAdmin mittels eines Scripts eine Datenbank erzeugt hast, muss Du das Fenster schließen und für die neue Datenbank ein Fenster eröffnen.



mfg

fristo

hallo,
danke für die Erklärungen.

Doch da ich selber einen script schreiben möchte, würde ich gerne wissen wie der Befehl heisst . Im MS SQL Server heisst use database x :rolleyes:
Gibt es eine ähnliche Befehl im Postgre nicht?

Danke

Hallo!

In welcher Sprache ist dein Skript denn geschrieben? Ich bin der Meinung, dass Embedded SQL sowas kann (“EXEC SQL CONNECT…” oder so ähnlich), aber das sollte dir als Anhaltspunkt evtl. schon mal weiterhelfen.

Gruß, eazy

Hallo raphaelf,

Scripte kannst du grunsätzlich mit psql.exe ausführen. Wenn Du Dich zu einer bestimmten Datenbank verbinden willst, muß im Script \connect DSM stehen. Im “bin” Verzeichnis stehen noch andere Programme. In der Dokumentation findest Du die Details zu den Befehlen.



mfg

fristo