Klientprogrammet createdb
stöder inte alla dessa alternativ.
Skapa 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;
Kalla det:
psql -U postgres postgres -f C:/path/to/db_create.sql
Tricket här är att ansluta till standardunderhållsdb "postgres" och skapa den nya databasen därifrån. Jag gör det med standard superanvändaren heter "postgres" i mitt exempel.psql -f
kör SQL-kommandon i den givna filen.
Du kan också bara köra ett enda kommando med psql -c
(ingen fil involverad):
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"
Mer om att skapa en databas i den fina manualen här
och här
.
Mer om psql
.
På Windows ser det ut ungefär så här:
"C:\Program Files\PostgreSQL\verson_number\bin\psql.exe" -U user -f C:/path/to/db_create.sql postgres
Den sista "postgres" är namnet på standardunderhållsdb. Om du vill använda den i en batchfil måste du svara på en lösenordsuppmaning eller ansluta till en användare som får åtkomst utan att ange ett lösenord. Grunderna i kapitlen Lösenordsfilen och pg_hba.conf-filen av manualen. Mer här: