首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql数据恢复编码

Postgresql数据恢复编码
EN

Stack Overflow用户
提问于 2016-03-21 10:23:03
回答 1查看 362关注 0票数 0

我无法恢复数据库脚本。

我跟踪了不同的帖子,这就是我到目前为止为解决这个问题所做的工作:

1-将UTF-8旧数据库转储到LATIN9:

代码语言:javascript
复制
"C:\Program Files (x86)\pgAdmin III\1.22\pg_dump" -E LATIN9 --no-owner --no-acl -U postgres -W -h localhost -p 5432 database_name > database_name.sql

2-删除旧数据库

代码语言:javascript
复制
DROP DATABASE database_name;

3.将新数据库创建为LATIN9:

代码语言:javascript
复制
CREATE DATABASE "database_name" WITH ENCODING='LATIN9' OWNER=username TEMPLATE=template0 LC_COLLATE='C' LC_CTYPE='C' CONNECTION LIMIT=-1;

4-我尝试用下面的命令恢复在第一步中创建的LATIN9脚本:

代码语言:javascript
复制
"C:\Program Files (x86)\pgAdmin III\1.22\psql.exe" -U username-d database_name -f database_name.sql

然后我得到了错误消息:

psql:致命:不支持WIN1252和LATIN9之间的转换

我不明白,剧本已经是LATIN9了!到底怎么回事?我想补充的是,我试图用它存档的是将我当前的UTF-8数据库更改为LATIN9。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-21 12:04:52

为了使其正常工作,我更改了步骤1和步骤4。

1-

代码语言:javascript
复制
"C:\Program Files (x86)\pgAdmin III\1.22\pg_dump" --host localhost --port 5432 --username "postgres" --role "postgres" --no-password  --format tar --blobs --encoding LATIN9 --verbose --file "database_name.backup" "database_name"

2-

代码语言:javascript
复制
DROP DATABASE database_name;

3-

代码语言:javascript
复制
CREATE DATABASE "database_name" WITH ENCODING='LATIN9' OWNER=username TEMPLATE=template0 LC_COLLATE='C' LC_CTYPE='C' CONNECTION LIMIT=-1;

4-

代码语言:javascript
复制
"C:\Program Files (x86)\pgAdmin III\1.22\pg_restore" --host localhost --port 5432 --username "postgres" --dbname "database_name" --role "postgres" --no-password  --verbose "database_name.backup"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36128415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档