Het clientprogramma createdb
ondersteunt niet al deze opties.
Maak een bestand db_create.sql
:
CREATE DATABASE MydatAbseName
WITH OWNER myadmin
TEMPLATE template0
ENCODING 'SQL_ASCII'
TABLESPACE pg_default
LC_COLLATE 'C'
LC_CTYPE 'C'
CONNECTION LIMIT -1;
Noem het:
psql -U postgres postgres -f C:/path/to/db_create.sql
De truc hier is om verbinding te maken met de standaard onderhoudsdatabase "postgres" en maak van daaruit de nieuwe database. Ik doe het met de standaard superuser met de naam "postgres" in mijn voorbeeld.psql -f
voert de SQL-commando's uit in het gegeven bestand.
Je kunt ook gewoon een enkele opdracht uitvoeren met psql -c
(geen bestand betrokken):
psql -U postgres postgres -c "CREATE DATABASE MydatAbseName WITH OWNER Myadmin
EMPLATE template ENCODING 'SQL_ASCII' TABLESPACE pg_default LC_COLLATE 'C'
LC_CTYPE C' CONNECTION LIMIT -1"
Meer over het maken van een database in de fijne handleiding hier
en hier
.
Meer over psql
.
Op Windows ziet het er ongeveer zo uit:
"C:\Program Files\PostgreSQL\verson_number\bin\psql.exe" -U user -f C:/path/to/db_create.sql postgres
De laatste "postgres" is de naam van de standaard onderhouds-db. Als u het in een batchbestand wilt gebruiken, moet u een wachtwoordprompt beantwoorden of verbinding maken met een gebruiker die toegang heeft zonder een wachtwoord op te geven. Basisprincipes in hoofdstukken Het wachtwoordbestand en Het pg_hba.conf-bestand van de handleiding. Meer hier: