PostgreSQL:如何存储UUID值?

前端之家收集整理的这篇文章主要介绍了PostgreSQL:如何存储UUID值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图使用Postgresql 9.3版本将UUID值存储到我的表中.

例:

create table test
(
   uno UUID,name text,address text
);

insert into test values(1,'abc','xyz');

注意:如何将整数值存储到UUID类型中?

解决方法

UUID的重点在于它们是自动生成的,因为所使用的算法实际上保证了它们在您的表,数据库甚至数据库中都是唯一的. UUID存储为16字节的基准,因此当您满足以下一个或多个条件时,您真的只想使用它们:

>您需要无限期地永久存储数据.
>当您拥有一个高度分布的数据生成系统(例如,在单个“系统”中的INSERTS,它分布在多台机器上,每台机器都有自己的本地数据库)时,中央ID生成是不可行的(例如,连接有限的移动数据收集系统),稍后上传到中央服务器).
>负载平衡,复制等方面的某些场景

如果其中一种情况适用于您,那么您最好将UUID用作主键并自动生成

CREATE TABLE test (
   uno     uuid PRIMARY KEY DEFAULT uuid_generate_v4(),name    text,address text
);

像这样你永远不必担心UUID本身,它都是在幕后完成的.您的INSERT语句将变为:

INSERT INTO test (name,address) VALUES ('abc','xyz') RETURNING uno;

如果要使用RETURNING子句引用相关数据,则显然是可选的.

猜你在找的Postgre SQL相关文章