PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zmienić kodowanie kolekcji szablonów bazy danych

Z dokumentacji PostgreSQL:

Innym częstym powodem kopiowania szablonu0 zamiast szablonu1 jest to, że podczas kopiowania szablonu0 można określić nowe ustawienia kodowania i ustawień regionalnych, podczas gdy kopia szablonu1 musi używać tych samych ustawień, co. Dzieje się tak, ponieważ szablon 1 może zawierać dane specyficzne dla kodowania lub specyficzne dla regionu, podczas gdy szablon 0 nie jest taki.

Możesz użyć tylko template0 aby utworzyć nową bazę danych z innym kodowaniem i lokalizacją:

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

To zadziała, jednak oznacza to, że wszelkie zmiany wprowadzone w template1 nie zostaną zastosowane do nowo utworzonej bazy danych.

Aby zmienić kodowanie i sortowanie template1 musisz najpierw usunąć template1 a następnie utwórz nowy szablon template1 z template0 . Jak usunąć bazę danych szablonów, opisano tutaj. Następnie możesz utworzyć nową bazę danych template1 z wybranym kodowaniem/sortowaniem i oznacz go jako szablon, ustawiając datistemplate=true (przykład):

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. Wybierz numer wiersza w postgresie

  2. Oracle do PostgreSQL:ROZPOCZNIJ OD/POŁĄCZ PRZEZ

  3. Przegląd metod JOIN w PostgreSQL

  4. ST_DWithin przyjmuje parametr jako stopień , a nie metry , dlaczego?

  5. Uciekanie nazw kolumn podobnych do słów kluczowych w Postgres