PostgreSQL 9.4使用UUID

PostgreSQL内置UUID类型,但默认安装时并没有带相关函数,需要手工生成。

在早期版本(貌似直到9.3仍如此),通过执行脚本uuid-ossp.sql可以生成UUID相关函数,该脚本通常在安装目录的share/contrib/文件夹。

psql -d dbname -U dbuser -f $PG_INSTALL_HOME$/share/contrib/uuid-ossp.sql

但到9.4版后,此方法已不可行。首先脚本变为安装目录的share/postgresql/extension文件夹下的uuid-ossp--1.0.sql和(或)uuid-ossp--unpackaged--1.0.sql;其次直接执行这两个脚本均提示“CREATE EXTENSION "uuid-ossp"”后退出。

正确的方法是按照提示创建extension,不必关心脚本是哪个以及在哪个目录。以下是在psql命令行的执行情况:

postgres=# \c yourdb;
yourdb=# create extension if not exists "uuid-ossp";
CREATE EXTENSION
yourdb=# select uuid_generate_v1();
           uuid_generate_v1
--------------------------------------
 cd0f1a92-bded-11e7-91ed-f785a584d13a
(1 行记录)

 

posted @ 2017-10-31 11:49  闻歌感旧  阅读(4457)  评论(0编辑  收藏  举报