如何避免postgres弄乱实体的ID

时间:2015-12-02 03:46:05

标签: postgresql primary-key

我今天在postgres数据库中发现了一个问题,我有一个带主键的实体,我存储的内容有1,2,3,4等等。

我今天再次检查了数据库,发现所有的ID都搞乱了,比如4,2,1等等。它们不是存储顺序。

我用这种表做的唯一事情是保存新数据并对实体进行查询。我的问题是,可能导致数据库混乱的原因是什么?

我怎么能避免这种情况发生?

1 个答案:

答案 0 :(得分:3)

您从根本上误解了数据库的工作原理。表中没有没有订单。当您告诉使用ORDER BY时,数据库会对行进行排序。否则它可以按照它喜欢的任何顺序将它们吐出来,这取决于获取它们的最快方法。

可以通过UPDATE替换行版本VACUUM等来更改物理行顺序。