我正在将一个数据库从 postgres 转换为 mysql。
由于我找不到一个可以自己解决问题的工具,所以我将所有 postgres 序列转换为 mysql 中具有自动增量值的自动增量 ID。
那么,如何使用 SQL 查询列出 Postgres DB( 8.1 版本)中的所有序列以及有关使用它的表、下一个值等的信息?
请注意,我不能information_schema.sequences在 8.4 版本中使用该视图。
information_schema.sequences
以下查询给出了所有序列的名称。
SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';
通常一个序列被命名为${table}_id_seq。简单的正则表达式模式匹配将为您提供表名。
${table}_id_seq
要获取序列的最后一个值,请使用以下查询:
SELECT last_value FROM test_id_seq;