我想只导出在PostgreSQL中创建的数据库中创建的序列。 有没有选择呢?
谢谢!
答案 0 :(得分:10)
您可以编写一个查询来生成一个脚本,该脚本将通过查询此信息架构视图来创建现有序列对象。
select *
from information_schema.sequences;
像这样。
SELECT 'CREATE SEQUENCE ' || sequence_name || ' START ' || start_value || ';'
from information_schema.sequences;
答案 1 :(得分:0)
我知道它太旧了,但是今天我有类似的要求,所以我尝试通过创建一系列“ CREATE SEQUENCE”查询来解决该问题,这些查询可用于在导入错误的另一个DB上重新创建序列(缺少序列) 这是我使用的SQL:
SELECT
'CREATE SEQUENCE '||c.relname||
' START '||(select setval(c.relname::text, nextval(c.relname::text)-1))
AS "CREATE SEQUENCE SQLs"
FROM
pg_class c
WHERE
c.relkind = 'S'
也许对某人有帮助。