离线安装时,一般有四个包,都安装的话,只需要开启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 resource libicu

安装命令:

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-5d53cc368bbbselect replace(cast(uuid_generate_v4() as VARCHAR), '-', '');--输出结果 8c5f310673914f80b2b67c65abc43acfselect translate(cast(uuid_generate_v4() as VARCHAR), '-', '');--输出结果 b7e5cd5663c143b29199d17d03335458select upper(translate(cast(uuid_generate_v4() as VARCHAR), '-', ''));--输出结果 245580BE73DD411996D053B1D1DCC58D