postgresql - 在 postgreSQL 中更改序列名称

标签 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 */

最佳答案

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq;

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

如果它超时,您可能有另一个进程正在锁定您的序列。您是否有办法关闭所有其他数据库用户,或者这样做是否太重要了?

关于postgresql - 在 postgreSQL 中更改序列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36361860/

相关文章:

php - OOP PhP 类的空属性问题,当它们插入数据库时​​它们不为空。数据库

php - Laravel 迁移 XML 数据类型

sql - 相关子查询、聚合和分组

在 PostgreSQL 9 上用 C 创建触发器

sql - 将一个数字分成多个带区

ruby-on-rails - 很抱歉,当用户尝试注册时,heroku 出现了问题

Django 登录尝试有时会默默地失败

postgresql - 最好使用 SERIAL PRIMARY KEY 或 GENERATED ALWAYS AS IDENTITY 作为 PostgreSQL 中的主键

mysql - 如何编写向 JMS 队列发送警报的事件触发器

node.js - Node Sequelize postgres 方言不断为类型 : Sequelize. INTEGER 创建 INTEGER 类型而不是 SERIAL 类型的 id 和 autoincrement: true