PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как мога да променя кодирането на база данни за PostgreSQL база данни с помощта на sql или phpPgAdmin?

Накратко, не можете да направите това само с phpPgAdmin или SQL, без да рискувате повреда на съществуващите данни .Трябва да експортирате всички данни, да създадете база данни с правилно кодиране и да възстановите експортираните данни.

Ето как трябва да продължите:

  1. създайте дъмп на база данни :

    pg_dump your_database > your_database.sql

    това ще запази вашата база данни в sql формат, в кодиране, което имате в момента.

  2. изтриване на база данни (или го преименувайте):

    DROP DATABASE your_database

    ако имате достатъчно място за съхранение, за да го направите, препоръчвам да оставите старата база данни, докато не се уверите, че всичко е наред с нова, преименувайте то:

    ALTER DATABASE your_database RENAME TO your_database_backup;

  3. създайте база данни с ново кодиране :

    CREATE DATABASE your_database WITH ENCODING 'UNICODE' TEMPLATE=template0;

  4. импортирайте данни от създаден преди това дъмп :

    PGCLIENTENCODING=YOUR_OLD_ENCODING psql -f your_database.sql your_database

    трябва да зададете клиентско кодиране на psql на такова, което сте имали в старата база данни.

Промяната на кодирането в движение не е възможна, тъй като ще изисква пренаписване на повечето данни от вътрешната база данни, което е почти равно на пресъздаването на db по начина, който описах.

Възможно е просто да промените вътрешната Postgres информация за базата данни и всички нови данни след тази промяна ще бъдат запазени правилно, но съществуващите ви данни може да се повредят .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да направите заявка без значение за главни букви в Postgresql?

  2. Заявка за най-близкия съсед в PostGIS

  3. Heroku Rails 4 не можа да се свърже със сървъра:връзката е отказана

  4. Generate_series в Postgres от начална и крайна дата в таблица

  5. Списък на Python към PostgreSQL масив