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