我运行一个小站点并使用PostgreSQL 8.2.17(仅在我的主机上提供的版本)来存储数据。 在过去的几个月中,我的服务器上发生了3次数据库系统崩溃,每次发生时,其中一个表中的串行字段(主键)中的31个ID都丢失。现在有93个ID缺失。在postgres串行字段中缺少值
表:
CREATE TABLE "REGISTRY"
(
"ID" serial NOT NULL,
"strUID" character varying(11),
"strXml" text,
"intStatus" integer,
"strUIDOrg" character varying(11),
)
这对我来说是非常重要的,所有的ID值都在那里。我能做些什么来解决这个问题?
我有3个“漏洞”,31个缺失的数字。 我只使用事务进行更新。插入是一次一个 - 当用户提交表单时,它不能成为交易相关的问题。 – Kayo 2010-08-04 10:01:56
那么,一些处理程序确实使用序列来获得一个新的数字。现在你有一些漏洞。但是,真正的问题是什么?一个id没有任何意义,它只是一个指向唯一记录的指针。 – 2010-08-04 10:10:12
ID用于统计和付款。 我没有任何问题(一切正常),但这对我的老板和我们的客户来说是一个非常大的问题:( – Kayo 2010-08-04 10:35:22