postgresql添加UUID函数

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

一、如果是单独的软件包安装方式如下所示

软件包到我之前的博客中提到的网站下载

1、主节点:

安装postgresql94-contrib

# yum install postgresql94-contrib-9.4.18-1PGDG.rhel6.x86_64.rpm -y

# find / -name uuid-ossp*

/usr/pgsql-9.4/lib/uuid-ossp.so

/usr/pgsql-9.4/share/extension/uuid-ossp--unpackaged--1.0.sql

/usr/pgsql-9.4/share/extension/uuid-ossp.control

/usr/pgsql-9.4/share/extension/uuid-ossp--1.0.sql

登录数据库

# su postgres

bash-4.1$ psql

执行下面语句

postgres=# create extension "uuid-ossp";

CREATE EXTENSION

尝试用导入的函数生成一个UUID

postgres=# select uuid_generate_v4();

uuid_generate_v4

--------------------------------------

28cbfa1e-d659-4aa2-a0fd-95fc7ec0aa8b

(1 row)

2、从节点;

# su postgres

bash-4.1$ psql

需要安装软件包,但是不需要执行相应的语句

# yum install postgresql94-contrib-9.4.18-1PGDG.rhel6.x86_64.rpm -y

# su postgres

bash-4.1$ psql

postgres=# select uuid_generate_v4();

uuid_generate_v4

--------------------------------------

88dd0f5e-0011-4471-9b95-008f24852b5b

(1 row)

二、通过yum安装的过程如下所示

主节点:

安装软件包

# yum install postgresql-contrib

其他过程和上面的相同

三、注意事项

上面的过程是对数据库默认创建的数据库postgres数据库进行操作,如果想其他属于普通用户的数据库使用uuid函数,必须对其数据库进行操作。

首先使用超级账户登录数据库(数据库pgdata操作用户是pgone)

bash-4.1$ psql -U postgres -d pgdata -W

peimsm=# create extension "uuid-ossp";

CREATE EXTENSION

peimsm=# select uuid_generate_v4();

uuid_generate_v4

--------------------------------------

0533a1cb-085e-49f6-a451-1508e6051e4a

(1 row)

上面操作只需要在主节点操作,只读数据库不能执行相应的语句。

原文地址:http://blog.51cto.com/xiaoxiaozhou/2149577

时间: 2024-10-11 01:10:25

postgresql添加UUID函数的相关文章

postgreSQL添加uuid功能

1. pg默认时不带uuid支持,需要手工添加 2.软件编译时带上uuid支持: --with-uuid=e2fs(这里有三种选择,bsd,e2fs,ossp). 需号要先安装依赖包 libuuid-devel.x86_64 3.进入源代码目录里的contrib目录,该目录存放的时没有被放入核心里的功能,类似plugin.需要全部都编译,就在该目录下make一下即可.如果需要单独某些包,进入相应目录,我们这里需要进入uuid-ossp目录,然后执行make && make install

MySQL UUID函数的详解(转)

MySQL UUID函数的详解 MySQL中可以有二类用于生成唯一值性质的工具:UUID()函数和自增序列,那么二者有何区别呢?我们就此对比下各自的特性及异同点: l  都可以实现生成唯一值的功能: l  UUID是可以生成时间.空间上都独一无二的值:自增序列只能生成基于表内的唯 一值,且需要搭配使其为唯一的主键或唯一索引: l  实现方式不一样,UUID是随机+规则组合而成的,而自增序列是控制一个值逐步增长的: l  UUID产生的是字符串类型值,固定长度为:36个字符,而自增序列产生的是整数

postgresql中uuid的使用

本文总共介绍两种方法 : 1.使用create extension命令 create extension "uuid-ossp" 安装扩展成功以后,就可以通过uuid_generate_v4()或uuid_generate_v1()查询 select uuid_generate_v4() 2.如果postgresql是默认安装的则是不带uuid函数的,为了生成一个uuid,我们可以在客户端生成. 在postgresql的安装目录下已经存在这样的函数定义,我们要做的只是把它import进

PostgreSQL添加新服务器连接时,报错“Server doesn't listen ”,已解决。

PostgreSQL添加新的服务器连接时,报错: 解决方法: 第一步:修改配置文件中连接的服务器列表,添加服务器IP地址(图pg002.png) 配置文件地址:数据库右击属性,打开数据库的安装路径在data文件中找到配置文件pg_hba.conf. 如:D:\Program Files\PostgreSQL\9.4\data\pg_hba.conf 注:只要修改IP路径就可以了,‘/’后面的数字都为32. 第二步:修改配置文件后,启动服务器的服务: 启动服务完成,连接服务器,新服务器就可以正常的

鸡啄米MFC教程笔记之七:对话框:为控件添加消息处理函数

MFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理.比如我们点击按钮时就会产生BN_CLICKED消息,修改编辑框内容时会产生EN_CHANGE消息等.一般为了让某种操作达到效果,我们只需要实现某个消息的消息处理函数. 一.添加消息处理函数 鸡啄米仍以前面的加法计算器的程序为例,说明怎样为“计算”按钮控件添加消息处理函数.添加方法列出4种: 1.使用Class Wizard添加消息处理函数 用过的VC++6.0的朋友应该对Class Wizard很熟

在Inspector 中 设置添加回调函数 - Unity3d编辑器扩展

在做一些开场动画或者其它指定事件触发 一类功能时,需要在编辑环境下设置添加回调函数. 一开始尝试直接使用delegate 来编写,测试发现没有效果,在谷歌搜索到Unity论坛有人提到 delegate 不能被序列化到Inspector 中使用,建议使用 UnityEvent . UnityEvent ,其实在UGUI中经常用到,只是平时不知道是它. 比如按钮的点击事件就是 直接从 UGUI Button 的源代码中搬运出来. 先提供一个带有 UnityEvent 的类 TimeEventPlug

[转载]MySQL UUID() 函数

目录 目录 一 引子 二 MySQL UUID() 函数 三 复制中的 UUID()四 UUID_SHORT() 函数 3.1 实验环境介绍 3.2 搭建复制环境 3.3 基于 STATEMENT 模式 3.4 基于 MIXED 模式 3.5 基于 ROW 模式 五 小结 六 Ref 文/温国兵 一 引子 在 MySQL 中,可以有如下几种途径实现唯一值: 自增序列 UUID() 函数 程序自定义 UUID 基于 16 进制,由 32 位小写的 16 进制数字组成,如下: aaaaaaaa-bb

PostgreSQL 添加各种约束语法

转自 PostgreSQL 添加各种约束语法   1. 添加主键 alter table goods add primary key(sid); 2. 添加外键 alter table orders add foreign key(goods_id) references goods(sid)  on update cascade on delete cascade; on update cascade: 被引用行更新时,引用行自动更新: on update restrict: 被引用的行禁止更

Oracle数据库获取uuid函数

Oracle新建系统表时,要求主键为32位uuid,猜测Oracle肯定会提供相关的函数. 翻阅相关文档,果然发现Oracle提供的函数 sys_guid() 用于获取32位uuid,简单使用为 select sys_guid() from dual; 该函数返回32位的uuid为大写,可以使用 lower(sys_guid()) 转为小写. Oracle数据库获取uuid函数