一、安装步骤
1、设置保存安装包的目录
$ cd /app/software/
2、开始下载源包
在官网下载postgresql-12.1.tar.gz:https://www.postgresql.org/ftp/source/
3、解压
$ tar -zxvf postgresql-12.1.tar.gz -C ../
4、进入移动后的目录
$ cd /app/postgresql-12.1
5、检查依赖包
$ yum install -y bison
$ yum install -y flex
$ yum install -y readline-devel
$ yum install -y zlib-devel
6、配置选项生成Makefile,默认安装到目录:/app/postgresql-12.1
$ ./configure --prefix=/app/postgresql-12.1
7、编译并安装
$ make
$ make install
8、创建,添加postgres 用户到 postgres组
$ groupadd postgres
$ useradd -g postgres postgres
$ chown -R postgres:postgres /app
$ mkdir -p /app/postgresql-12.1/data
$ su postgres
9、初始化数据库
$ /app/postgresql-12.1/bin/initdb -D /app/postgresql-12.1/data/
10、启动数据库
$ /app/postgresql-12.1/bin/pg_ctl -D /app/postgresql-12.1/data/ -l logfile start --启动数据库
$ /app/postgresql-12.1/bin/pg_ctl -D /app/postgresql-12.1/data/ stop --停止数据库
$ /app/postgresql-12.1/bin/pg_ctl restart -D /app/postgresql-12.1/data/ -m fast --重启数据库
二、postgreSQL配置
1、修改postgresql.conf,修改主要的配置参数。
修改前可以先备份一下
$ cd /app/postgresql-12.1/data/
$ cp postgresql.conf postgresql.conf_bak
$ vim /usr/local/pgsql/data/postgresql.conf
修改 listen_addresses = '192.168.226.128' 前面的#号需要去掉。
默认参数是‘localhost‘ ,一般会改成实际Ip地址。
2、修改postgresql.conf,修改数据库的访问权限。
$ vim /app/postgresql-12.1/data/pg_hba.conf
添加以下,表示主机所有IP都可以访问。
host all all 0.0.0.0/0 trust
3、添加环境变量
$ su root
$ cd /home/postgres
$ vim .bash_profile
添加:
export PGHOME=/app/postgresql-12.1
export PGDATA=/app/postgresql-12.1/data
PATH=$PATH:$HOME/bin:$PGHOME/bin
$ source .bash_profile
4、设置开机自启动
$ cd /app/postgresql-12.1/contrib/start-scripts
由于这个文件权限没有设置为X可以执行权限,我们需要设置它为可运行。
$ chmod a+x linux
# cp linux /etc/init.d/postgresql (复制linux文件到/etc/init.d目录下,并更名postgresql)
# vim linux /etc/init.d/postgresql
查看
prefix=/app/postgresql-12.1 (安装程序的文件路径)
PGDATA="/app/postgresql-12.1/data" (数据存放目录)
如果和自己的路径一致就不需要修改了,按ESC键 ,然后:q退出编辑。
$ chkconfig --add postgresql (添加开机启动项目)
$ chkconfig (看下是否设置成功)
4、设置系统配置,开放默认的5432端口
如果CentOS6 使用iptables执行以下步骤。
$ vim /etc/sysconfig/iptables
添加
-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT
$ cd /etc/init.d/iptables restart (重启服务)
如果CentOS7 有使用firewall防火墙执行以下步骤。
$ firewall-cmd --zone=public --list-ports
$ firewall-cmd --zone=public --add-port=5432/tcp --permanent (添加5432端口)
$ firewall-cmd --reload (重启防火墙)
5、启动服务
$ service postgresql start
6、查看PostgreSQL服务
$ ps -ef | grep postgres
7、设置默认密码
PostgreSQL安装后会自动创建一个数据库用户,名为postgres
$ psql -U postgres
postgres=# ALTER USER postgres with encrypted password 'asd111'; (asd111密码自由设置)
postgres=# \q (可退出)
确定后就开放了5432端口了。
2、使用pgAdmin连接数据库
配置IP,5432端口,用户,密码:asd111 就可以连接了。