centos7安装postgresql13.4并设置开机自启

 一.OS环境+软件版本:

       1. Vmware虚拟机16+centos7、

        2.PG版本:13.4

二.安装部署:

        1.创建postgres用户:useradd -m -U postgres

        2.安装各种依赖:yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 perl-Module-Install.noarch

                                    yum install -y readline-devel.x86_64

        3.下载安装uuid ossp库:下载自行解决就行了。

                tar -xzvf uuid-1.6.2.tar.gz-->cd uuid-->./configure-->make && make install

        4.下载安装部署postgresql13.4:

               a). tar -xzvf postgresql-13.4.tar.gz-->cd postgresql-13.4.0-->./configure --prefix=/home/postgres --enable-thread-safety --with-uuid=ossp --with-libs=/usr/local/lib --with-includes=/usr/local/include-->make-->make install-->cd contrib-->make-->make install

              b).  配置uuid软链接:find / -name libuuid.so.16-->ln -s /usr/local/lib/libuuid.so.16 /home/postgres/lib-->chown -R postgres.postgres /home/postgres/-->配置环境变量vi /home/postgres/.bashrc 添加export PGHOME=/home/postgres

                                              export PGDATA=$PGHOME/data

                                               expot PATH=$PGHOME/.local/bin:$HOME/bin:$PGHOME/bin

-->source /home/postgres/.bashrc

             c). 初始化数据库:initdb -D  /home/postgres/data

             d). 启动数据库 pg_ctl -D /home/postgres/data start

             e)可以修改pg_hba.conf和postgresql.conf两个配置文件,修改完后重启数据库即可。

自此,安装部署就完成了,安装部署也参考了很多资料,最终结合自己的实践完成此安装部署过程。接下来讨论下配置开机自启。

三.配置开机自启:

        相信很多同学在百度的时候都会出现很多PG配置开机自启动的方法,其实核心无非三种方式:

        1.配置/etc/rc.d/rd.local文件,添加一行su - postgres -c "/home/postgres/bin/pg_ctl -D /home/postgres/data start"此方法经过测试试验,不能达到每次开机都自启,故不是我们想要的方法。

        2.执行[postgres@fcj2 ~]$ sudo find / -iname linux命令会找到/opt/postgresql-13.2/contrib/start-scripts/linux-->cp /opt/postgresql-13.2/contrib/start-scripts/linux /etc/init.d/postgresql-->chmod a+x /etc/init.d/postgresql-->vi /etc/init.d/postgresql按照图示修改:

centos7安装postgresql13.4并设置开机自启

 -->修改完保存退出-->chkconfig --list

centos7安装postgresql13.4并设置开机自启

 -->chkconfig --add postgresql

centos7安装postgresql13.4并设置开机自启centos7安装postgresql13.4并设置开机自启

-->chkconfig --list

centos7安装postgresql13.4并设置开机自启

 通过测试,此方法同第一种方法结果相同,无法保证每次重启服务器都能完成开机自启,接下来的第三种方法是亲测可行的。

         介绍第三种方法之前,先说个小知识点:就是RHEL 7/8系统替换了熟悉的初始化进程服务System V init,正式采用全新的systemd初始化进程服务,即将RHEL 5/6系统熟悉的service、chkconfig系统服务管理命令改为了systemctl命令来管理服务。因为我用的是centos7,所以这也有可能是为什么用前两种方法无法做到开机自启的原因吧。这段与本文章无直接关系,当作参考即可。

        3.touch /etc/systemd/system/postgresql.service-->vi /etc/systemd/system/postgresql.service文件添加以下内容:

 centos7安装postgresql13.4并设置开机自启   centos7安装postgresql13.4并设置开机自启

 注意:如果Type设置的是forking模式的话,一定要在下面加上PIDFile=/home/postgres/data/postmaster.pid 选项。

保存退出-->systemctl daemon-reload-->systemctl  enable postgresql-->systemctl  is-enabled postgresql-->systemctl start postgresql-->systemctl  status postgresql

注意:在用此方法配置开机自启前需要将/etc/selinux/config配置文件的SELINUX设置为disabled,否则在执行systemctl start postgresql命令时会报错。另外,当在网上查询此方法的操作时还会有这样的方式,即将开始的touch文件操作改为:touch /usr/lib/systemd/system/postgresql.service,ln -s /usr/lib/systemd/system/postgresql.service  /etc/systemd/system/这两步去完成,实际的RHEL7确实是通过这种方式完成的,但是通过我的测试,无法完成PG的开机自启,可能因为我操作的问题,也可能PG在这方面的支持存在问题。总之,以上介绍的第三种方法是可以实现PG开机自启的。

以上就是本次的分享,安装部署和配置开机自启两个过程。

                

            

上一篇:PostgreSQL 14 Bottom-up index tuple deletion 大大减少btree索引膨胀


下一篇:爬虫与Python:(四)爬虫进阶二之数据存储(数据库存储)——8.PostgreSQL存储