ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2021-12-06 11:01:49  阅读:163  来源: 互联网

标签:postgresql13.4 postgresql postgres -- centos7 自启 开机 home


 一.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按照图示修改:

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

 -->chkconfig --add postgresql

-->chkconfig --list

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

         介绍第三种方法之前,先说个小知识点:就是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文件添加以下内容:

    

 注意:如果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开机自启的。

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

                

            

标签:postgresql13.4,postgresql,postgres,--,centos7,自启,开机,home
来源: https://www.cnblogs.com/WangZaiFan/p/15648912.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有