游戏,工作,投资,悟禅

工作就是修行

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  18 随笔 :: 0 文章 :: 17 评论 :: 39221 阅读
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

今天用pg_dump 备份greenplum 数据库的ddl 的时候,遇到一个其他的错误,记录一下。

执行备份命令:

1
2
[gpadmin@gpmdw tmp]$ pg_dump -Fp --gp-syntax  -s -f ./pgdump_output.sql testdb1
pg_dump: query to obtain distribution policy of table "dim_org" returned no data

 使用-v 参数,查看详细出错信息,重新执行

复制代码
[gpadmin@gpmdw tmp]$ pg_dump -Fp --gp-syntax -v -s -f ./pgdump_output.sql testdb1
20171121:18:43:37|pg_dump-[INFO]:-reading schemas
20171121:18:43:37|pg_dump-[INFO]:-reading user-defined functions
20171121:18:43:37|pg_dump-[INFO]:-reading user-defined types
.....
20171121:18:43:37|pg_dump-[INFO]:-reading constraints
20171121:18:43:37|pg_dump-[INFO]:-reading triggers
pg_dump: reading dependency data
pg_dump: saving encoding = UTF8
pg_dump: saving standard_conforming_strings = off
pg_dump: saving database definition
pg_dump: query to obtain distribution policy of table "dim_org" returned no data
pg_dump: *** aborted because of error
[gpadmin@gpmdw tmp]$ 
复制代码

开始怀疑是dim_org 这张表有问题,经过检查,dim_org 很正常,没有任何问题;

复制代码
testdb1=# \d public.dim_org
           Table "public.dim_org"
 Column |          Type          | Modifiers 
--------+------------------------+-----------
 orgid  | integer                | 
 name   | character varying(100) | 
Distributed by: (orgid)

testdb1=# 
复制代码

后来再检查数据库日志,发现 pg_dump 是执行如下SQL来查询表的表的分布键的:

SELECT attrnums from pg_namespace as n, pg_class as c, gp_distribution_policy as p WHERE c.relname = 'dim_org' AND n.nspname='public' AND c.relnamespace=n.oid AND c.oid = p.localoid;

而我的数据库testdb1 存在一张测试表  public.pg_class, 里面的数据为空,导致上面的SQL执行结果为空。所以报错退出;
把public.pg_class 修改为public.pg_class2 之后,重新执行pg_dump ,可以正常备份了。

以后还是不要再public 下创建和系统表同名的表了,这个问题又搞了一个上午。

 

posted on   爱玩游戏的码农  阅读(386)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示