Ist die Standarddatenbank "postgres" immer vorhanden?

Hallo zusammen,

ich möchte mich von einem Client aus auf einen PG-Server verbinden, um die vorhandenen Datenbanken zu ermitteln. Der Client (c#) erfordert einen Connectionstring und darin einen Datenbankname - ohne Datenbankname geht es offenbar nicht.

Ausgehend von dem, was ich im Netz gefunden habe, scheint die Datenbank “postgres” dafür geeignet zu sein. Sie wird ja per Default angelegt.

Aber ist diese Datenbank wirklich immer da? Ich habe auch etwas von internen Datenbanken namens “template0” oder “template1” gelesen, weiß aber nicht, ob das wirklich stimmt.

Gruß, Karsten.

ja, die DB ‘postgres’ wird default angelegt. Und ja, es gibt auch template0 und template1. Das sind Templates, also Vorlagen. template0 ist quasi die Ursuppe, aus der wird template1 erstellt und aus dieser postgres.
Also, ja, sich zu postgres zu verbinden, wenn man die anderen nicht kennt, ist okay.

Die template1 kannst Du übrigens erweitern. Alles, was Du da anlegst (extensions z.B.) wird dann in allen später angelegten Datenbanken sein (sofern man default template1 als Template-DB verwendet)

Ah, danke für die schnelle Antwort, bestens :slight_smile:

Das Thema mit “template1” erweitern klingt auch gut, denn der Punkt wird später noch kommen. Wir werden nämlich per Code Datenbanken erstellen müssen und da ist natürlich das Template bestens geeignet. Ich nehme an, man kann “template1” mit allen möglichen Tabellen vorbefüllen…

Gruß, Karsten.

Ja, kann man, aber ich würde davon eher abraten.
Leg eine eigene Template Datenbank an, und lass die Standarddatenbanken in Ruhe.

Du kannst beim CREATE DATABASE jede Datenbank zu der gerade niemand verbunden ist, als Template angeben. template1 ist nur der Default wenn nichts weiter angegeben ist. Du kannst dort im übrigen auch schon Daten mit ablegen die dann auch automatisch kopiert werden. Wir verwenden dass um Test-Datenbanken zurückzusetzen bevor ein neuer Test gestartet wird.

1 „Gefällt mir“

Ah, ok, ja das klingt plausibel. Bei uns würden es dann Kundendatenbanken werden, die auf Basis eines Masters erstellt werden, also ähnlich wie bei dir. Da ist ein eigener Master sicher besser. aber das kommt alles noch…

Danke, Karsten.

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.