我想改变我使用的序列的名称.我尝试了这两个选项并失败了:
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)
是正确的.您可能还想添加模式名称以确保更改正确的模式名称,但这很可能会起作用.
如果超时,您可能有另一个锁定序列的进程.有没有办法让你关闭所有其他数据库用户,或者这样做太关键了?