逻辑导入导出(pg_dump/pg_restore)用法1-过滤掉相关的对象

目录

文档用途

详细信息

文档用途

在逻辑复制(logical replication)初始化时,需要在备端初始化表结构。此时需要禁用触发器、序列、函数、外键操作。

本文档给出相关方法

详细信息

逻辑导入导出用法:过滤掉相关的对象

>导出schema test的所有表结构,以Fc自定义格式

pg_dump -p 5432 -U pg -s -Fc -n test -v  -f /tmp/test.dump postgres

> 查看dump内容

pg_restore -l /tmp/test.dump

> 过滤函数(单独把函数导出)

pg_restore -l /tmp/test.dump | grep FUNCTION > /tmp/test_f.dump

> 反向过滤(排除函数)

pg_restore -l /tmp/test.dump | grep -v FUNCTION > /tmp/test_nofun_noseq.dump

>反向过滤(排除函数|触发器|序列|外键)

pg_restore -l /tmp/test.dump  | grep -v -E "FUNCTION|TRIGGER|SEQUENCE|FK" > /tmp/test_nofun_notrig_noseq_nofk.dump

注:去掉序列后,建表语句中可能会引用序列作为列的默认值,这种sql需要手动修改,删除序列引用(DEFAULT nextval)

更多详细信息请登录【瀚高技术支持平台】 查看https://support.highgo.com/#/index/docContent/d8a3aec40157253f

发布了399 篇原创文章 · 获赞 108 · 访问量 65万+

猜你喜欢

转载自blog.csdn.net/pg_hgdb/article/details/102858595