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

Cách thay đổi mã hóa bộ sưu tập cơ sở dữ liệu mẫu

Từ tài liệu PostgreSQL:

Một lý do phổ biến khác để sao chép template0 thay vì template1 là cài đặt mã hóa và ngôn ngữ mới có thể được chỉ định khi sao chéptemplate0, trong khi bản sao của template1 phải sử dụng các cài đặt tương tự. Điều này là do template1 có thể chứa dữ liệu dành riêng cho mã hóa hoặc dữ liệu cụ thể theo tỷ lệ, trong khi template0 được biết là không.

Bạn chỉ có thể sử dụng template0 để tạo cơ sở dữ liệu mới với mã hóa và ngôn ngữ khác nhau:

CREATE DATABASE newdb
WITH OWNER = postgres
   ENCODING = 'UTF8'
   TABLESPACE = pg_default
   LC_COLLATE = 'zh_CN.UTF-8'
   CONNECTION LIMIT = -1
   TEMPLATE template0;

Điều này sẽ hoạt động, tuy nhiên, điều đó có nghĩa là bất kỳ thay đổi nào bạn đã thực hiện đối với template1 sẽ không được áp dụng cho cơ sở dữ liệu mới tạo.

Để thay đổi mã hóa và đối chiếu của template1 trước tiên bạn phải xóa template1 và sau đó tạo mẫu mới template1 từ template0 . Làm thế nào để thả cơ sở dữ liệu mẫu được mô tả ở đây. Sau đó, bạn có thể tạo cơ sở dữ liệu mới template1 với mã hóa / đối chiếu đã chọn và đánh dấu nó làm mẫu bằng cách đặt datistemplate=true (ví dụ):

update pg_database set datistemplate=true  where datname='template1';


  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âu lệnh INSERT INTO có điều kiện trong postgres

  2. Làm thế nào để PostgreSQL thực thi ràng buộc DUY NHẤT / loại chỉ mục nào nó sử dụng?

  3. gem cài đặt pg không thể liên kết với libpq

  4. Làm cách nào để định dạng trường bigint thành ngày tháng trong Postgresql?

  5. Cách cấp tất cả các đặc quyền về chế độ xem cho người dùng tùy ý