赞
踩
– 参考《PostgreSQL 修炼之道:从 小工到专家(第 2 版)》
这样安装的文件会放在默认位置,这样的好处是不容易出错,报错的几率会小很多
rpm包:https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 第一步 yum源 :
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
#通过 yum search postgresql 可以查看到与PGsql数据库相关的软件
# 第二步 根据源安装数据库程序:
yum install -y postgresql12-server
#由于第一次使用时 没有配置文件路径:
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12
yum install postgresql12-contrib
好处是自己去设计安装方案,但一旦中间莫个过程出错,会引起连锁反应。
源码地址:
https://www.postgresql.org/download/
这里使用了postgresql-12.0.tar.gz
tar -zxvf postgresql-12.0.tar.gz
开发包:
#编译器
yum -y install gcc
#默认需要
yum -y install -y zlib-devel
yum -y install -y readline-devel
#配置中加入了 --with-python
yum -y install -y python-devel
#配置时我加入了 --with-per
yum install perl-ExtUtils-Embed
创建用户组
groupadd pregres
useradd -g postgres postgres
编译安装三把斧,configure,make,make install
#pgsql的目录下
./configure [--prefix={pgsql文件路径,自主定义}] [--with-perl] [--with-python]
–with-perl:使用PL/perl过程语言编写自定义函数
–with-python:使用PL/python编写自定义函数
make
make install
最后文件权限配置
chown -R postgres:postgres /usr/pgsql12
创建实例
配置PgSQL环境后
#postgres用户下
initdb -D {选择的实例位置}
数据库的启动和关闭
pg_ctl start
pg_ctl stop
#设置PGsql的文件路径:
export PGHOME=/usr/pgsql-12
export PATH=$PGHOME/bin:$PATH
#设置共享库路径(PG使用某些功能需要预加载相关的共享库)
export LD_LIBRARY_PATH=/usr/pgsql-12/lib
创建指定位置的实例:
在此之前最好创建实例路径
(原因是initdb创建实例需要在postgres用户下才能创建,而postgres在根目录下是没有创建权限的,当然你也可以直接选择在postgres 下创建)
#postgres用户下
initdb -D {选择的实例位置}
pg_hha.conf的配置
默认的数据库没有配置远程连接,需要在pg_hha.conf文件里配置:
host all all 0/0 md5
#内容解析:
#TYPE(主机类型)、DATABASE(数据库名)、USER(用户名)、ADDRESS(IP地址和掩码)、METHOD(加密方法)
1.type
host:使用TCP/IP 连接
local:使用Unix-domainsocket
hostssl: 指定SSL
hostnossL:禁止SSL
2.database
"all",以及数据库名。对于多个数据库名用逗号隔开
3.use
和database相同
4.address
指定匹配地址
5.METHOD
加密方式:trust,reject,md5,password ......
1.关闭防火墙:
systemctl start firewalld ##关闭防火墙
systemctl status firewalld ##查看状态
#如果不想关闭防火墙可以对外开放5432端口
firewall-cmd --add-port=5432/tcp
移除指定端口
firewall-cmd --remove-port=5432/tcp
2.修改pg_hha.conf的配置
# TYPE DATABASE USER ADDRESS METHOD
host all all 0/0 md5
3.修改postgresql.conf
listen_addresses = '*'
4.重启服务
pg_ctl restart
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。