The*_*ter 7 database postgresql locale latin1
我在设置和运行特定数据库时遇到问题.我正在尝试恢复我从其他人那里获得的postgreSQL转储.我试过几种方法都无济于事.
直接来自pg_restore
pg_restore -C -d postgres --exit-on-error maggie_prod_20111221.dump.sql
首先创建数据库和表空间
createdb -T template0 maggieprod -E LATIN1
SQL: CREATE TABLESPACE magdat OWNER maggie LOCATION '/somewhere/magdat';
pg_restore -v -d template1 maggie_prod_20110121.dump.sql
使用第一种方法,我得到以下内容:
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 2308; 1262 16386 DATABASE maggieprod postgres
pg_restore: [archiver (db)] could not execute query: ERROR: encoding LATIN1 does not match locale en_CA.utf8
DETAIL: The chosen LC_CTYPE setting requires encoding UTF8.
Command was: CREATE DATABASE maggieprod WITH TEMPLATE = template0 ENCODING = 'LATIN1' TABLESPACE = magdat;
使用第二个,当我尝试创建数据库时,我得到:
createdb: database creation failed: ERROR: encoding LATIN1 does not match locale en_CA.utf8
DETAIL: The chosen LC_CTYPE setting requires encoding UTF8.
所以似乎我无法创建LATIN1编码数据库?这是为什么?我是区域设置和编码的新手,并不太了解它们.我只知道转储是由LATIN1数据库完成的.
输出locale
是:
LANG=en_CA.utf8
LC_CTYPE="en_CA.utf8"
LC_NUMERIC="en_CA.utf8"
LC_TIME="en_CA.utf8"
LC_COLLATE="en_CA.utf8"
LC_MONETARY="en_CA.utf8"
LC_MESSAGES="en_CA.utf8"
LC_PAPER="en_CA.utf8"
LC_NAME="en_CA.utf8"
LC_ADDRESS="en_CA.utf8"
LC_TELEPHONE="en_CA.utf8"
LC_MEASUREMENT="en_CA.utf8"
LC_IDENTIFICATION="en_CA.utf8"
LC_ALL=
输出locale -a
是:
C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX
我不会在第二个命令中看到LATIN1,不是吗?如果是这样,我将如何添加它?假设我需要更改计算机上的语言环境,这对我来说是否正确?如果是这样,有没有办法只为postgreSQL做到这一点?此外,当我尝试打开转储时,我看到很多垃圾字符,我假设这是因为编码,我将如何正确地看待它?
谢谢你的帮助.
您需要使用与编码匹配的语言环境创建数据库,例如,
createdb -T template0 maggieprod -E LATIN1 --locale=en_CA
Run Code Online (Sandbox Code Playgroud)
由于您没有安装所有语言环境,我猜您使用的是Debian或Ubuntu.在这种情况下,请致电dpkg-reconfigure locales
或安装locales-all
包.
或者,使用编码创建数据库UTF8
.只要您的所有客户端都正确设置了客户端编码,它就不应该有所作为.
归档时间: |
|
查看次数: |
14949 次 |
最近记录: |