我对PostgreSQL很新,所以如果问题是基本的,我会道歉.
在PostgreSQL数据库恢复期间,从sql文件中,我收到错误"类型为bytea的输入语法无效",我相信数据不会复制到表中,即表是空的.
这是错误消息:
2015-02-20 08:56:14 EST ERROR: invalid input syntax for type bytea
2015-02-20 08:56:14 EST CONTEXT: COPY ir_ui_menu, line 166, column web_icon_data: "\x6956424f5277304b47676f414141414e5355684555674141414751414141426b43414d41414142485047566d4141414143..."
2015-02-20 08:56:14 EST STATEMENT: COPY ir_ui_menu (id, parent_id, name, icon, create_uid, create_date, write_date, write_uid, web_icon_data, web_icon, sequence, web_icon_hover, web_icon_hover_data) FROM stdin;
Run Code Online (Sandbox Code Playgroud)
数据库备份转储的创建方式如下:
pg_dump -U user_name database_name -f backup_file.sql
Run Code Online (Sandbox Code Playgroud)
数据库还原完成如下:
psql -U user_name -d destination_db -f backup_file.sql
Run Code Online (Sandbox Code Playgroud)
源数据库(从中获取备份)是一台服务器上的PostgreSQL版本9.1.15,另一台服务器上的目标(恢复到)数据库是PostgreSQL 8.3.4.
有什么方法可以解决这个问题吗?在此先感谢您的帮助.
如果您有权访问9.X服务器配置,则可以在postgresql.conf上将bytea_output变量更改为“ escape”:
bytea_output = 'escape' # hex, escape
Run Code Online (Sandbox Code Playgroud)
然后重新启动Postgres 9.X服务器并按照正常方式转储数据库。最后,将其还原到8.X服务器上。
您也可以只为数据库转储操作更改客户端连接变量,但是它可能不在范围内。
希望能帮助到你。
归档时间: |
|
查看次数: |
7263 次 |
最近记录: |