一尘不染

列出带有SQL的Postgres db 8.1中的所有序列

sql

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

由于我找不到能自行解决问题的工具,因此我将使用autoincrement值将所有postgres序列转换为mysql中的autoincrement id。

因此,如何在 Postgres DB( 8.1 版)中列出所有序列,以及有关使用该表的信息,下一个值等信息(通过SQL查询)?

请注意,我无法使用information_schema.sequences8.4版本中的视图。


阅读 141

收藏
2021-05-05

共1个答案

一尘不染

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

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

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

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

SELECT last_value FROM test_id_seq;
2021-05-05