sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan ændres skabelonens databasesamlingskodning

Fra PostgreSQL-dokumentation:

En anden almindelig årsag til at kopiere skabelon0 i stedet for skabelon1 er, at nye kodnings- og landestandardindstillinger kan angives, når man kopierer skabelon0, hvorimod en kopi af skabelon1 skal bruge de samme indstillinger, som den gør. Dette skyldes, at skabelon1 kan indeholde kodningsspecifikke eller lokalspecifikke data, mens skabelon0 vides ikke at gøre det.

Du kan kun bruge template0 for at oprette en ny database med anden kodning og lokalitet:

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

Dette vil virke, men det betyder, at alle ændringer du har foretaget i template1 vil ikke blive anvendt på nyoprettet database.

For at ændre kodning og sortering af template1 du skal først slette template1 og opret derefter en ny skabelon template1 fra template0 . Hvordan man dropper skabelondatabasen er beskrevet her. Derefter kan du oprette en ny database template1 med valgt kodning/sortering og marker det som en skabelon ved at indstille datistemplate=true (eksempel):

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


  1. Brug af CASE-udtryk i SQL Server

  2. I Postgresql, fremtving unik på kombination af to kolonner

  3. MySQL:Hvordan kopierer man rækker, men ændrer nogle få felter?

  4. Easysoft ODBC-drivere og ODBCINST-biblioteket