Linux下postgresql数据库部署与配置

1、检查postgresql是否已经安装:rpm -qa | grep postgres

2、检查PostgreSQL 安装位置:rpm -qal | grep postgres

3、卸载Postgresql:yum remove postgresql*

4、启动防火墙:systemctl start firewalld.service

5、开启5432端口:firewall-cmd --zone=public --add-port=5432/tcp --permanent

  (iptables  -I  INPUT  -p  tcp  --dport  5432  -j  ACCEPT)

6、重启防火墙配置:firewall-cmd --reload

  (systemctl restart iptables.service )

7、关闭SELINUX

  SELinux是Linux的一个安全策略,开启对Linux操作系统有 很高的安全保障。但是作为新手,建议还是不要开启,因为它太安全了,导致在环境搭建的时候很多操作都被影响。所以综 合安全性和复杂性来说,SELinux的性价比并不高。

(1)进入编辑模式:vi /etc/selinux/config

(2)注释下列两行:

  #SELINUX = enforcing #

  #SELINUXTYPE = targeted#

  增加以下行:SELINUX = disabled

  重启系统:shutdown   -r  now

8、安装依赖包:

  #yum install -y gcc gdb strace gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel 

  #yum install ncurses ncurses-devel curl curl-devel e2fsprogs patch e2fsprogs-devel krb5-devel libidn libidn-devel openldap-devel nss_ldap openldap-clients openldap-servers libevent-devel libevent uuid-devel uuid mysql-devel

  #yum install make cmake lrzsz perl perl-ExtUtils-Embed readline readline-devl python-devel proj proj-devel screen gmp gmp-devel mpfr mpfr-devel devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++ boost boost-devel cmake3 cmake3-gui cmake3-data 

  假设安装在/usr/pgsql:# mkdir /usr/pgsql

  打开文件夹 #cd /usr/pgsql

  创建data文件夹 # mkdir/pgsql-data

  下载postgres数据库 # wget https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.gz

  解压压缩包 # tar -zxvf postgresql-9.4.1.tar.gz

  打开文件夹 # cd postgresql-9.4.1

  编译安装 # ./configure --prefix=/usr/pgsql/postgresql --without-readline

       # make

       # make install

9、编译过程中可能遇到的问题:https://blog.csdn.net/luojinbai/article/details/44217551

10、创建postgresql用户:# useradd postgres

11、创建密码:# passwd postgres

12、创建pgsql数据目录:# mkdir /usr/pgsql/pgsql_data

13、给postgres用户授权目录访问权限:# chown postgres /usr/pgsql/pgsql_data

  给postgres用户授权执行权限:# chmod -R 777  /usr/pgsql/

14、添加环境变量:# vi ~/.bash_profile

  export LD_LIBRARY_PATH=/usr/pgsql/postgresql/lib
  export PATH=/usr/pgsql/postgresql/bin:$PATH

15、环境变量生效:# source ~/.bash_profile 

16、切换postgres用户:# su postgres

17、初始化数据库:$ /usr/pgsql/postgresql/bin/initdb -D /usr/pgsql/pgsql_data

18、启动数据库:$ /usr/pgsql/postgresql/bin/pg_ctl -D /usr/pgsql/pgsql_data -l logfile start

  关闭数据库:$ /usr/pgsql/postgresql/bin/pg_ctl -D /usr/pgsql/pgsql_data -l logfile stop

19、查看环境变量:# echo $PATH

20、配置远程连接:

  # cd /usr/pgsql/pgsql-data

  # vi pg_hba.conf

  改为host  all  all  0.0.0.0/0  trust 

  # vi postgresql.conf

 21、设置开启自启

在pg的安装目录下的contrib/start-scriptslinux文件,将它拷贝一份到/etc/init.d目录下并重命名为postgresql:

为所有用户添加改脚本的可执行权限:# chmod a+x /etc/init.d/postgresql

通过chkconfig命令将该脚本注册为开机启动:# chkconfig --add postgresql

原文地址:https://www.cnblogs.com/wu-wu/p/9594634.html