如何在postgresql中复制序列号

时间:2015-02-19 12:01:19

标签: postgresql

对于基于postgres的数据库,我需要将表定义和序列号从一个模式镜像到另一个模式。为了复制模式定义,我只能将pg_dump与模式定义一起使用,但是文档似乎表明仅在选择数据导出时才导出序列号。

是否可以轻松导出模式导出中的相应序列号,或者是传输这些值的简单方法,还是从脚本语言接口数据库的唯一选择?

1 个答案:

答案 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;