小编Naz*_*ain的帖子

使用大量数据更改 postgresql 表

我的数据库中有一个表,其中有几个简单的列和一个二进制列。该表的主键是一个integer类型。

我面临的问题是自动递增的主键列已达到其最大限制 +2147483647。意味着该表中有大约 20 亿条记录。由于该表中的二进制列,它255 GB在磁盘上有大约大小。

现在,由于该数据类型限制,对该表的所有插入都已停止。逻辑解决方案是我们将该主键列转换为bigint. 但是由于ALTER TABLE命令的大小总是失败,有时甚至数据库进入不一致的状态,我们根本无法访问该表。

使用的语句:

ALTER TABLE table_name ALTER COLUMN id SET DATA TYPE bigint ;
Run Code Online (Sandbox Code Playgroud)

任何人都有任何建议来解决这个问题。

postgresql postgresql-9.1

3
推荐指数
1
解决办法
1475
查看次数

标签 统计

postgresql ×1

postgresql-9.1 ×1