对于基于postgres的数据库,我需要将表定义和序列号从一个模式镜像到另一个模式。为了复制模式定义,我只能将pg_dump与模式定义一起使用,但是文档似乎表明仅在选择数据导出时才导出序列号。
是否可以轻松导出模式导出中的相应序列号,或者是传输这些值的简单方法,还是从脚本语言接口数据库的唯一选择?
答案 0 :(得分:0)
查看转储,pg_dump首先写入序列的创建和使用
开始值的更正SELECT pg_catalog.setval('tuutti_id_seq', 4, true);
因此,如果您执行仅模式转储,则可以从信息模式构造语句,例如使用SQL查询:
SELECT 'SELECT pg_catalog.setval(''' || sequence_name || ''', ' || start_value || ', true);'
FROM information_schema.sequences;