PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tạo cơ sở dữ liệu Postgres bằng cách sử dụng tệp hàng loạt với [mẫu], [mã hóa], [chủ sở hữu] và tệp .sql

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 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 Tệp pg_hba.conf của sách hướng dẫn. Thêm tại đây:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách phù hợp để làm việc với kết quả phát trực tuyến 3.0.0 của slick và Postgresql là gì?

  2. Hiệu suất khác biệt:điều kiện được đặt tại mệnh đề INNER JOIN so với WHERE

  3. Phân tích thống kê bảng PostgreSQL

  4. Làm cách nào để lấy (các) khóa chính của bảng từ Postgres qua plpgsql?

  5. Tôi có thể ghi nhật ký thời gian thực hiện truy vấn trong PostgreSQL 8.4 không?