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

Wie kann die aktuelle Arbeitsdatenbank für das Initialisierungsskript eines Postgres-Docker-Containers angegeben werden?

Hier wird die Initialisierung der Datenbank ausführlich erklärt. So erstellen Sie Benutzer/ Datenbank im Skript für Docker Postgres .

Kurz gesagt, der Name der Datenbank, die während der Initialisierung erstellt wurde und in der Ihre Tabellen standardmäßig erstellt werden, wird durch die Umgebungsvariable POSTGRES_DB angegeben . Wenn die Variable nicht gesetzt ist, wird der Standardwert postgres verwendet wird stattdessen verwendet.

Die Skripte in docker-entrypoint-initdb.d Ordner werden nacheinander mit folgendem Befehl ausgeführt:

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -f <your-file>

daher sind Sie mit der POSTGRES_DB verbunden Datenbank (siehe docker-entrypoint.sh Skript).

In Ihren Skriptdateien können Sie sich dennoch mit dem Meta-Befehl

mit einer anderen Datenbank verbinden
\connect DBNAME