Chương trình khách createdb
không hỗ trợ tất cả các tùy chọn đó.
Tạo tệp 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;
Gọi nó là:
psql -U postgres postgres -f C:/path/to/db_create.sql
Mẹo ở đây là kết nối với db bảo trì mặc định "postgres" và tạo cơ sở dữ liệu mới từ đó. Tôi làm điều đó với superuser mặc định được đặt tên là "postgres" trong ví dụ của tôi.
psql -f
thực thi các lệnh SQL trong tệp đã cho.
Bạn cũng có thể chỉ thực hiện một lệnh duy nhất với psql -c
(không liên quan đến tệp):
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"
Tìm hiểu thêm về cách tạo cơ sở dữ liệu trong sách hướng dẫn hữu ích tại đây
và tại đây
.
Tìm hiểu thêm về psql
.
Trên Windows, nó trông giống như sau:
"C:\Program Files\PostgreSQL\verson_number\bin\psql.exe" -U user -f C:/path/to/db_create.sql postgres
"Postgres" cuối cùng là tên của db bảo trì mặc định. Nếu bạn muốn sử dụng nó trong một tệp hàng loạt, bạn phải trả lời lời nhắc mật khẩu hoặc kết nối với người dùng được phép truy cập mà không cần cung cấp mật khẩu. Kiến thức cơ bản trong chương Tệp mật khẩu và Tệp pg_hba.conf của sách hướng dẫn. Thêm tại đây: