在postgreSQL中更改序列名称

时间:2016-04-01 16:57:59

标签: postgresql

我想更改我使用的序列的名称。我尝试了这两个选项并失败了:

ALTER TABLE PLAYER RENAME id_seq_player TO player_id_seq;

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq;

我查看了官方文档,并从那里创建了这两个SQL,但没有一个能够工作。 first solution导致SQL错误,second超时。

以下是我得到的SQL错误:

ERROR:  column "id_seq_player" does not exist

********** Error **********

*更新*

似乎第二个SQL语句完成了这项工作。由于我必须转发端口,可能是连接或OpenShift的问题。但现在我多次重试以验证它是否有效。

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq; /* Works */

3 个答案:

答案 0 :(得分:18)

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq;

是对的。您可能还想添加模式名称以确保更改正确的模式名称,但这很可能会有效。

如果超时,您可能有另一个锁定序列的进程。有没有办法让你关闭所有其他数据库用户,或者这样做太关键了吗?

答案 1 :(得分:2)

试试这个:

ALTER TABLE id_seq_player RENAME TO player_id_seq;

答案 2 :(得分:0)

不知道命令行,但您可以在pgAdmin上更改它

我只需将1添加到我的序列中并将其更改回来。

enter image description here