离线安装时,一般有四个包,都安装的话,只需要开启uuid的使用即可,如果工具包(即 postgresql11-contrib)没有安装的话,需要单独安装一次,再进行开启。
开启UUID方法
下面介绍一下如何开启,命令如下
create extension "uuid-ossp" ;
如果没有安装过,会出现如下的报错信息
ERROR: could not access file "$libdir/uuid-ossp": No such file or directory
这个时候就需要安装 postgresql1X-contrib
如果是联网的情况:
(如果是联网的情况,且使用命令装的,应该默认是安装了,不过还是记录一下如何安装)
1、先查看系统本身安装的什么版本的PostgreSQL,我这边用的是11版本,所以直接查看下载列表是否有11版本,用如下命令
yum list postgresql11-contrib
2、下载安装:(安装过程中 会有是否升级的提问,y/n 选择n)
yum install postgresql11-contrib.x86_64
如果是没有联网的情况,先去在有网的环境下载对应版本的rpm,可以下载的rpm 连接可以用下面的两个:
Packages for Linux and Unix - pkgs.org
安装命令:
rpm -ivh postgresql11-contrib-11.14-1PGDG.rhel7.rpm
如果遇到下面的错误信息,说明需要先安装一个rpm--libxslt.so.1
warning: postgresql11-contrib-11.14-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
error: Failed dependencies:
libxslt.so.1()(64bit) is needed by postgresql11-contrib-11.14-1PGDG.rhel7.x86_64
libxslt.so.1(LIBXML2_1.0.11)(64bit) is needed by postgresql11-contrib-11.14-1PGDG.rhel7.x86_64
libxslt.so.1(LIBXML2_1.0.18)(64bit) is needed by postgresql11-contrib-11.14-1PGDG.rhel7.x86_64
libxslt.so.1(LIBXML2_1.0.22)(64bit) is needed by postgresql11-contrib-11.14-1PGDG.rhel7.x86_64
可以在 https://pkgs.org/ 网站上搜索,针对安装的系统 装对应的rpm,当前系统版本是centos7 64位的,故选择 libxslt-1.1.28-6.el7.x86_64.rpm;这个网站的下载页面如图:
RPM resource libicu这个网站也可以,但是不如上面网址的东西全,界面如下图:
结果展示
select uuid_generate_v4(); --输出结果 15d78cc0-52eb-46d1-bb73-5d53cc368bbb select replace(cast(uuid_generate_v4() as VARCHAR), '-', ''); --输出结果 8c5f310673914f80b2b67c65abc43acf select translate(cast(uuid_generate_v4() as VARCHAR), '-', ''); --输出结果 b7e5cd5663c143b29199d17d03335458 select upper(translate(cast(uuid_generate_v4() as VARCHAR), '-', '')); --输出结果 245580BE73DD411996D053B1D1DCC58D