Klientprogrammet createdb
understøtter ikke alle disse muligheder.
Opret en fil 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;
Kald det:
psql -U postgres postgres -f C:/path/to/db_create.sql
Tricket her er at oprette forbindelse til standard vedligeholdelsesdb "postgres" og opret den nye database derfra. Jeg gør det med standard superbrugeren navngivet "postgres" i mit eksempel.psql -f
udfører SQL-kommandoerne i den givne fil.
Du kan også bare udføre en enkelt kommando med psql -c
(ingen fil involveret):
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"
Mere om oprettelse af en database i den fine manual her
og her
.
Mere om psql
.
På Windows ser det sådan ud:
"C:\Program Files\PostgreSQL\verson_number\bin\psql.exe" -U user -f C:/path/to/db_create.sql postgres
Det sidste "postgres" er navnet på standard vedligeholdelsesdb. Hvis du vil bruge det i en batch-fil, skal du svare på en adgangskodeprompt eller oprette forbindelse til en bruger, der har adgang uden at angive en adgangskode. Grundlæggende i kapitlerne Adgangskodefilen og pg_hba.conf-filen af manualen. Mere her: