(1)创建用户和数据库datadb目录:
groupadd postgres
useradd -g postgres postgres
passwd postgres
mkdir -p /postgresql/pgsql
chown -R postgres:postgres /postgresql/pgsql
(2)解压、编译、安装:
tar xzf postgresql-11.9.tar.gz
cd postgresql-11.9
自定义安装路径:
./configure --prefix=/postgresql/pgsql
make && make install
过程中会提示少readline and zlib,进行安装
yum install readline-devel.x86_64
yum install zlib-devel.x86_64
(3) 设置环境变量
切换到postgres用户下
# vim .bash_profile
PGHOME=/postgresql/pgsql
PGDATA=/postgresql/pgsql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin
export PATH
(4)移动启动脚本,并进行配置
cp postgresql-11.9/contrib/start-scripts/linux /etc/init.d/postgresql
vi /etc/init.d/postgresql
# Installation prefix
prefix=/postgresql/pgsql
# Data directory
PGDATA="/postgresql/pgsql/data"
chmod +x /etc/init.d/postgresql
(5)初始化数据库:
su - postgres
initdb -D $PGDATA
初始化成功,可以根据特别圈出的命令启动数据库
image.png(6)到此,安装还不算结束,很多模块没有安装,安装模块:
进入安装包解压的目录,进入contrib 里:
#cd /root/postgresql-11.9/contrib
make && make install
(7)由于postgresql数据库默认无法远程,所以需要配置
# cd /postgresql/pgsql/data
# vi pg_hba.conf
这里将pg_hba.conf的ip地址修改为0.0.0.0/0,而加密方式改为md5,就表示需要密码访问
image.png# vi postgresql.conf
那样修改一下listen_address使其监听整个网络
image.png(8)启动,设置开机启动
service postgresql start
chkconfig --add postgresql
最后别忘记开放pg的5432端口,否则即使做了上面两处修改客户端依然无法连接postgresql,所以将5432端口加入到zone即可,依次运行以下命令(注意此处需要切回root用户,否则没有权限:
# firewall-cmd --zone=public --add-port=5432/tcp --permanent
# firewall-cmd --reload
通过firewall-cmd --zone=public --list-ports
来查看已打开的端口列表,如下说明成功开启端口
启动成功后我们就可以通过postgresql自带的客户端工具psql来进行连接,直接输入psql看到版本信息则说明连接成功
而在日志文件目录中可以看到数据库日志文件以及刚才的启动日志。
image.png设置postgres用户的密码(默认为空),psql连接成功后直接输入\password即会提示输入两次密码
网友评论