PostgreSQL是最先进的开源数据库。PostgreSQL简称pgsql,目前最新版本是13,
访问PostgreSQL官网https://www.postgresql.org/download/,可以下载源码,也可以用二进制包安装,这里使用二进制包安装。
本教程适用于12及以上版本,只需将命令中的11换成12即可。
选择操作系统,选择Red Hat family Linux (including CentOS/Fedora/Scientific/Oracle variants):
点击进入后,选择pgsql版本,这里选择11,操作系统为CentOS7,x86_64,然后就会有相关信息:
以下在需要安装pgsql的系统中使用root用户执行:
执行:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
完毕后重新生成本地yum缓存:
yum clean all
yum makecache
安装(postgresql11为客户端,postgresql11-server为服务端,postgresql11-devel为一些库可以不装):
yum install postgresql11 postgresql11-server postgresql11-devel -y
12 版本及以上安装时候可能会报llvm的错,解决方法在文末。
初始化数据库:
官网默认的是
/usr/pgsql-11/bin/postgresql-11-setup initdb
这样初始化的数据库编码是英文的,咋们是中国人,肯定是要用中文的编码啦,
正确的数据库初始化命令是:
sudo su -c " PGSETUP_INITDB_OPTIONS='-U postgres -E UTF8 --locale=zh_CN.UTF-8' /usr/pgsql-11/bin/postgresql-11-setup initdb"
初始化完毕后,默认的数据目录位于/var/lib/pgsql/11/data/,如果要更改数据目录,按照下面操作:
建立你自己的数据存储目录,如/mydata/pgsql/11/data,并改变用户及用户组所有者为postgres用户及组:
mkdir -p /mydata/pgsql/11/data
chown -R postgres:postgres /mydata/pgsql/11/data
将默认数据复制到新目录:
cp -rv /var/lib/pgsql/11/data/* /mydata/pgsql/11/data/
编辑启动脚本文件:vim /lib/systemd/system/postgresql-11.service:
vim /lib/systemd/system/postgresql-11.service
修改其中的,Environment=PGDATA=/var/lib/pgsql/12/data/ 为我们的新目录:Environment=PGDATA=/mydata/pgsql/11/data/
设置开机启动和启动服务:
设置密码(安装完毕默认没有密码):
使用以下命令登录数据库:
sudo -u postgres psql postgres
登录之后:
输入(注意不能少了反斜杠\):
\password postgres
编辑配置文件/var/lib/pgsql/11/data/pg_hba.conf修改成密码登录:
vim /var/lib/pgsql/11/data/pg_hba.conf
将peer和ident 修改为md5
执行以下命令重启服务:
systemctl restart postgresql-11
至此PostgreSQL11安装完毕,如果安装12版本,将文中的11换成12即可。
其他系统Debian、Ubuntu等安装类似。
补充:
PostgreSQL 12 版本安装时候可能会报llvm的错,如下图:
需要安装llvm的包,先安装 centos-release-scl-rh包
yum install centos-release-scl-rh -y
安装完毕后,清除缓存:
yum clean all
yum makecache
安装llvm的包:
yum install llvm5.0* llvm7.0* llvm-toolset-7-clang -y
然后再安装pgsql 就可以了。