小编典典

使用 SQL 列出 Postgres db 8.1 中的所有序列

all

我正在将一个数据库从 postgres 转换为 mysql。

由于我找不到一个可以自己解决问题的工具,所以我将所有 postgres 序列转换为 mysql 中具有自动增量值的自动增量 ID。

那么,如何使用 SQL 查询列出 Postgres DB( 8.1 版本)中的所有序列以及有关使用它的表、下一个值等的信息?

请注意,我不能information_schema.sequences在 8.4 版本中使用该视图。


阅读 63

收藏
2022-07-14

共1个答案

小编典典

以下查询给出了所有序列的名称。

SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';

通常一个序列被命名为${table}_id_seq。简单的正则表达式模式匹配将为您提供表名。

要获取序列的最后一个值,请使用以下查询:

SELECT last_value FROM test_id_seq;
2022-07-14