Benjamin Asked: 2021-06-14 21:52:25 +0800 CST2021-06-14 21:52:25 +0800 CST 2021-06-14 21:52:25 +0800 CST 仅导出 Postgres 序列 772 有没有办法使用PG_DUMP或任何其他命令从现有数据库中仅导出序列? postgresql export 2 个回答 Voted Best Answer Alex Yu 2021-06-15T08:08:47+08:002021-06-15T08:08:47+08:00 我不确定“导出序列”是什么意思。 我想您的意思是将所有语句提取为: CREATE SEQUENCE [sequence name] ....; ALTER SEQENCE [sequence name] OWNED BY [table name] 如果这比我pg_dump对 db 所做的那样,然后解析提取所有与序列相关的 DDL 语句。 例如 # CREATE SEQUENCE $ pg_restore db.dump --section=pre-data -f - | awk '/CREATE SEQUENCE/ {print}' FS="\n" RS="" CREATE SEQUENCE public.address_id_seq AS integer START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ... # ALTER SEQUENCE $ pg_restore db.dump --section=pre-data -f - | awk '/ALTER SEQUENCE/ {print}' FS="\n" ALTER SEQUENCE public.address_id_seq OWNED BY public.address.id; .... 注:gawk 5.1.0被使用。 可能的改动: 不需要 db 转储文件 - 将 pg_dump 的输出直接重定向到awk 无需转储数据。pg_dump --schema-only就足够了 希望这可以帮助 Jhonny Ramirez Zeballos 2021-11-25T07:28:51+08:002021-11-25T07:28:51+08:00 pg_dump -h localhost -p 5432 -d namedb -U postgres -t '*_id_seq' > dump-seq.sql
我不确定“导出序列”是什么意思。
我想您的意思是将所有语句提取为:
如果这比我
pg_dump
对 db 所做的那样,然后解析提取所有与序列相关的 DDL 语句。例如
注:
gawk 5.1.0
被使用。可能的改动:
awk
pg_dump --schema-only
就足够了希望这可以帮助