7

I want to export ONLY the sequences created in a Database created in PostgreSQL. There is any option to do that?

Thank you!

4

3 回答 3

12

您可以编写一个查询来生成一个脚本,该脚本将通过查询此信息模式视图来创建您现有的序列对象。

select *
from information_schema.sequences;

像这样的东西。

SELECT 'CREATE SEQUENCE ' || sequence_name || ' START ' ||  start_value || ';'
from information_schema.sequences;
于 2012-12-04T12:26:44.877 回答
4

我知道它太旧了,但今天我有类似的要求,所以我尝试通过创建一系列“CREATE SEQUENCE”查询以相同的方式解决它,这些查询可用于在导入错误的其他数据库上重新创建序列(缺少序列)这是我使用的 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'

也许这对某人有帮助。

于 2019-06-10T08:03:19.350 回答
0

使用 DBeaver,您可以

  1. 打开架构
  2. 选择它的序列
  3. crtl-F搜索您感兴趣的序列
  4. crtl-A选择所有这些
  5. Right-click并选择生成 SQL -> DDL

您将获得 SQL 语句来创建所有选定的序列。

于 2022-01-10T15:34:01.097 回答