1.下载源码安装包
[root@test2019030517 ~]# wget https://ftp.postgresql.org/pub/source/v10.5/postgresql-10.5.tar.gz
2.创建pg的用户主、组
[root@test2019030517 postgresql-10.5]# useradd postgres[root@test2019030517 postgresql-10.5]# groupadd postgres[root@test2019030517 postgresql-10.5]# passwd postgres
3.解压、进入目录
[root@test2019030517 postgresql-10.5]# tar zxvf postgresql-10.5.tar.gz [root@test2019030517 postgresql-10.5]# cd postgresql-10.5
4.创建postgreSQL的安装目录
[root@test2019030517 postgresql-10.5]# mkdir /usr/local/postgresql
5.下载依赖包
[root@test2019030517 postgresql-10.5]# yum -y install -y readline-devel
6.预编译#-prefix是指定postgreSQL安装路径
[root@test2019030517 postgresql-10.5]# ./configure --prefix=/usr/local/postgresql
7.编译安装
[root@test2019030517 postgresql-10.5]# make[root@test2019030517 postgresql-10.5]# make install
显示这个说明成功
8.安装contrib目录下的一些工具,是第三方组织的一些工具代码,建议安装
[root@test2019030517 postgresql-10.5]# cd contrib[root@test2019030517 contrib]# make && make install
9.创建相关目录
♦数据目录
[root@test2019030517 contrib]# mkdir -p /usr/local/postgresql/data
♦日志目录
[root@test2019030517 contrib]# mkdir -p /usr/local/postgresql/logs
9. 赋予postgres用户相关文件夹权限
[root@test2019030517 postgresql-10.5]# chown -R postgres:postgres /usr/local/postgresql
10.配置环境变量
[root@test2019030517 postgresql-10.5]# cat /etc/profile.d/pgsql.sh export PATH=$PATH:/usr/local/postgresql/bin/[root@test2019030517 postgresql-10.5]# source /etc/profile.d/pgsql.sh
11.启动数据库
[root@test2019030517 postgresql-10.5]# su postgres初始化数据库[postgres@test2019030517 postgresql-10.5]$ initdb -D /usr/local/postgresql/data/启动服务pg_ctl -D /usr/local/postgresql/data -l /usr/local/postgresql/logs/logfile start连接数据库[postgres@test2019030517 postgresql-10.5]$ psql 创建数据库 postgres=# create database test; 创建表postgres=# create table t_user (id integer, name text); 插入测试数据postgres=# insert into t_user values (1,'joke');查询数据postgres=# select * from t_user;退出psql窗口postgres-# \q
12.修改监听所有网络以及数据库连接数
[postgres@test2019030517 postgresql-10.5]$ vim /usr/local/postgresql/data/postgresql.conf 60 listen_addresses = '*' # what IP address(es) to listen on; 65 max_connections = 100 # (change requires restart)
13.修改远程访问
[postgres@test2019030517 postgresql-10.5]$ vim /usr/local/postgresql/data/pg_hba.conf #在文件的最下方加上下面的这句话host all all 0.0.0.0/0 trust
如下
[postgres@test2019030517 postgresql-10.5]$ tail -n 6 /usr/local/postgresql/data/pg_hba.conf# replication privilege.local replication all trusthost replication all 127.0.0.1/32 trusthost replication all ::1/128 trusthost all all 0.0.0.0/0 trust
14.防火墙开启端口
# 切换root用户su - root# 防火墙 允许5432 端口 iptables -I INPUT -p tcp --dport 5432 -j ACCEPT
15.重启postgreSQL服务
[root@test2019030517 postgresql-10.5]# su - postgres[postgres@test2019030517 ~]$ pg_ctl -D /usr/local//postgresql/data/ -l /usr/local/postgresql/logs/logfile restart
停止服务命令
[postgres@test2019030517 ~]$ pg_ctl -D /usr/local//postgresql/data/ -l /usr/local/postgresql/logs/logfile stop
16.设置开机自启动
切换到root用户[postgres@test2019030517 ~]$ su root找到解压后源码包里面的一个linux文件[root@test2019030517 postgres]# chmod a+x /data/postgresql-10.5/contrib/start-scripts/linux复制linux文件到/etc/init.d目录下,更名为postgresql[root@test2019030517 postgres]# cp /data/postgresql-10.5/contrib/start-scripts/linux /etc/init.d/postgresql
17.修改/etc/init.d/postgresql文件的两个变量
31 # Installation prefix 32 prefix=/usr/local/postgresql33 34 # Data directory35 PGDATA="/usr/local/postgresql/data"37 # Who to run the postmaster as, usually "postgres". (NOT "root")38 PGUSER=postgres
18.执行service postgresql start,可以启动PostgreSQL服务
启动[root@database2019030517 postgresql]# service postgresql start停止[root@database2019030517 postgresql]# service postgresql stop查看状态[root@database2019030517 postgresql]# service postgresql status
19.设置postgresql服务开机自启动
[root@test2019030517 postgres]# chkconfig --add postgresql[root@test2019030517 postgres]# chkconfig --level 2345 postgresql on [root@test2019030517 postgres]# chkconfig --list