30

我应该为 postgresql 数据库表中的唯一键(例如用户的 ID)选择哪种数据类型?
bigint 是一个吗?

谢谢

4

3 回答 3

43

使用该serial类型自动增加唯一 ID。

如果您计划拥有超过 20 亿个条目,请使用bigserial. serial是 MySQL 的 PostgresSQL 等价物AUTO_INCREMENT

PostgresSQL 文档:数字类型

于 2012-08-02T13:22:18.400 回答
7

bigint(或者bigserial如果您需要自动递增键)就可以了。

如果确定您不会加载太多行,您可能会考虑(或常规)并可能节省一些硬盘空间integerserial

于 2012-08-02T13:22:37.747 回答
1

根据这个答案,当前推荐的自动递增唯一 ID 的方法是使用generated as identity语法而不是serial.

这是一个例子:

-- the old way
create table t1 (id serial primary key);

-- the new way
create table t2 (id integer primary key generated always as identity);
于 2022-01-01T15:41:05.237 回答