免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6084 | 回复: 5
打印 上一主题 下一主题

pg_restore 恢复正确,但仍出现错误的信息 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-27 16:10 |只看该作者 |倒序浏览
postgreSQL 9.0

tempDB 为数据库名
usr_mgr 为用户名

1. 先用pg_dump --file=/home/sdr/backup/anotherDB.bak --format=t --username=usr_mgr --no-privileges tempDB 的shell命令导出数据库tempDB
2. 然后dropdb -U usr_mgr tempDB 删除整个数据库
3. 再用createdb -U usr_mgr tempDB 创建一个空数据库(默认用了template1)
4. 最后pg_restore  --verbose --username=usr_mgr --dbname=tempDB --format=t /home/sdr/backup/anotherDB.bak 恢复数据库

导入数据是无误的(完全能导入,并且数据正确)
但提示如下错误信息:
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 309; 2612 11574 PROCEDURAL LANGUAGE plpgsql postgres
pg_restore: [archiver (db)] could not execute query: ERROR:  must be owner of language plpgsql
    Command was:
CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql;

在网上查询,得知在创建数据库的时候,默认以template1为模板创建,并且默认安装了plpgsql的过程语言,而usr_mgr无权限去执行此过程语言。
请问大家该怎么来解决这个问题?
PS:我初学数据库,首次接触postgreSQL,请大家教教我,谢了!

论坛徽章:
0
2 [报告]
发表于 2011-06-27 16:55 |只看该作者
怎么大家都不给个解决办法啊!

就是怎么把 usr_mgr 转换成 plpgsql 的 owner 啊?

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
3 [报告]
发表于 2011-06-27 22:38 |只看该作者
是不是用户创建得不对啊。

论坛徽章:
0
4 [报告]
发表于 2011-06-28 08:46 |只看该作者
应该加一个语句
GRANT  ALL    ON LANGUAGE plpgsql    TO  usr_mgr

不过你这个错误可以忽略, 因为你的数据库已经加了plpgsql, 所以CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql这条语句是多余的,即使错误也无碍.

论坛徽章:
4
丑牛
日期:2014-09-15 09:28:12双子座
日期:2014-12-19 17:01:192015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-06-28 06:20:00
5 [报告]
发表于 2011-06-28 09:03 |只看该作者
这个错误可以忽略。因为9版本以上,在创建库时已经默认创建了 plpgsql 语言

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
6 [报告]
发表于 2011-06-28 12:25 |只看该作者
PG支持好几种语言创建存储过程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP