Клиентската програма createdb
не поддържа всички тези опции.
Създайте файл 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;
Наречете го:
psql -U postgres postgres -f C:/path/to/db_create.sql
Номерът тук е да се свържете с базата за поддръжка по подразбиране "postgres" и създайте новата база данни от там. Правя го с суперпотребител по подразбиране наречен "postgres" в моя пример.psql -f
изпълнява SQL командите в дадения файл.
Можете също така просто да изпълните една команда с psql -c
(без включен файл):
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"
Повече за създаването на база данни в изисканото ръководство тук
и тук
.
Още за psql
.
В Windows изглежда по следния начин:
"C:\Program Files\PostgreSQL\verson_number\bin\psql.exe" -U user -f C:/path/to/db_create.sql postgres
Последният "postgres" е името на db за поддръжка по подразбиране. Ако искате да го използвате в партиден файл, трябва да отговорите на подкана за парола или да се свържете с потребител, на когото е разрешен достъп без предоставяне на парола. Основи в главите Файлът с пароли и Файлът pg_hba.conf на ръководството. Повече тук: