在postgreSQL中更改序列名称

Jer*_*j K 10 postgresql

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

ALTER TABLE PLAYER RENAME id_seq_player TO player_id_seq;
Run Code Online (Sandbox Code Playgroud)

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq;
Run Code Online (Sandbox Code Playgroud)

我查看了官方文档,并从那里创建了这两个SQL,但没有一个工作.第一个解决方案导致SQL错误,第二个解决方案超时.

这是我得到的SQL错误:

ERROR:  column "id_seq_player" does not exist

********** Error **********
Run Code Online (Sandbox Code Playgroud)

*更新*

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

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq; /* Works */
Run Code Online (Sandbox Code Playgroud)

Ant*_*gon 24

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq;
Run Code Online (Sandbox Code Playgroud)

是正确的.您可能还想添加模式名称以确保更改正确的模式名称,但这很可能会起作用.

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


Shu*_*tra 5

尝试这个:

ALTER TABLE id_seq_player RENAME TO player_id_seq;
Run Code Online (Sandbox Code Playgroud)