Program klienta createdb
nie obsługuje wszystkich tych opcji.
Utwórz plik 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;
Nazwij to:
psql -U postgres postgres -f C:/path/to/db_create.sql
Sztuczka polega na tym, aby połączyć się z domyślną bazą danych konserwacji „postgres” i stamtąd utwórz nową bazę danych. Robię to z domyślnym superużytkownikiem o nazwie "postgres" w moim przykładzie.psql -f
wykonuje polecenia SQL w podanym pliku.
Możesz także wykonać pojedyncze polecenie za pomocą psql -c
(brak pliku):
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"
Więcej o tworzeniu bazy danych znajdziesz w podręczniku tutaj
i tutaj
.
Więcej informacji o psql
.
W systemie Windows wygląda to mniej więcej tak:
"C:\Program Files\PostgreSQL\verson_number\bin\psql.exe" -U user -f C:/path/to/db_create.sql postgres
Ostatni "postgres" to nazwa domyślnej bazy danych konserwacji. Jeśli chcesz użyć jej w pliku wsadowym, musisz odpowiedzieć na pytanie o hasło lub połączyć się z użytkownikiem, który ma dostęp bez podawania hasła. Podstawy w rozdziałach Plik z hasłami oraz Plik pg_hba.conf instrukcji. Więcej tutaj: