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-scripts
的linux
文件,将它拷贝一份到/etc/init.d
目录下并重命名为postgresql:
为所有用户添加改脚本的可执行权限:# chmod a+x /etc/init.d/postgresql
通过chkconfig命令将该脚本注册为开机启动:# chkconfig --add postgresql