CentOS7安装PostgreSQL12
PostgreSQL是一款功能强大的开源关系型数据库,它开源且免费,可扩展性强,严格遵循SQL标准,支持丰富的数据类型,支持复杂查询,并且提供了强大的事务支持,适用于各种规模和类型的应用场景。
安装部署教程(跟着每一步操作,一定可以部署成功,如果不行再回头检查一次)
1.进入存储安装包所在目录
cd /usr/local/src
2.下载安装包
wget https://ftp.postgresql.org/pub/source/v12.1/postgresql-12.1.tar.gz
或者进入PGSQL官网资源,下拉找到12.1版本tar.gz结尾的安装包,手动下载后上传至服务器,网址 https://www.postgresql.org/ftp/source/
3.解压安装包
tar -zxvf postgresql-12.1.tar.gz
4.创建PGSQL服务文件夹并移动解压后的文件到此目录
mkdir /usr/local/pgsql/
mv postgresql-12.1 /usr/local/pgsql/postgresql-12.1/
5.进入解压文件移动后的目录
cd /usr/local/pgsql/postgresql-12.1/
6.配置生成Makefile,安装到指定的pgsql目录中(如果发现存在异常,重新手动键入下面这条命令)
./configure --prefix=/usr/local/pgsql/
7.安装相关依赖包
yum install -y bison
yum install -y flex
yum install -y readline-devel
yum install -y zlib-devel
8.编译
make
9.检查编译文件是否正常,echo $? 返回0则表示正常,继续安装,如果返回其他,则检查依赖是否安装成功
echo $?
10.安装
make install
11.创建数据存储目录
mkdir /usr/local/pgsql/data
12.创建PGSQL所属用户组和用户
groupadd postgres
创建用户组
useradd -g postgres postgres
创建用户组下用户:useradd -g 用户组 用户
chown -R postgres:postgres /usr/local/pgsql/
修改pgsql文件夹及其所有文件权限为postgres的用户组和用户
su postgres
切换为postgres用户
13.初始化数据库
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
14.修改配置,修改前先备份原始配置文件
cp /usr/local/pgsql/data/postgresql.conf /usr/local/pgsql/data/postgresql.conf.bak
vim /usr/local/pgsql/data/postgresql.conf
vim命令需要先安装vim文件编辑工具,安装命令是 yum -y install vim*
输入vim的查找命令 /listen_addresses
后敲回车可以快速查找到此配置
将 #listen_addresses = '*'
修改为 listen_addresses = '*'
即去除左边的#号,这个配置可以客户端远程访问此数据库
按esc
然后输入 :wq
后敲回车保存,冒号是英文的
15.修改数据库访问权限
vim /usr/local/pgsql/data/pg_hba.conf
md5表示需要密码验证访问,修改后按 esc
,然后输入 :wq
后按回车保存
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5 #外部访问
host all all ::/0 md5 #外部ipv6访问
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 md5
host replication all ::1/128 trust
16.添加环境变量
su root
切换root用户
vim /home/postgres/.bash_profile
编辑postgres用户的环境配置文件,添加如下配置
export PGHOME=/usr/local/pgsql
export PGDATA=/home/postgres/data
PATH=$PATH:$HOME/bin:$PGHOME/bin
source /home/postgres/.bash_profile
使修改生效
17.设置快捷启动与开机启动
cd /usr/local/pgsql/postgresql-12.1/contrib/start-scripts/
进入目录
chmod a+x linux
给到可执行权限
cp linux /etc/init.d/postgresql
复制到系统目录中
vim /etc/init.d/postgresql
检查文件路径是否与服务器文件夹路径对应
# Installation prefix 数据库程序路径
prefix=/usr/local/pgsql
# Data directory 数据存放路径
PGDATA="/usr/local/pgsql/data"
# Who to run the postmaster as, usually "postgres". (NOT "root") 数据库运行用户
PGUSER=postgres
cd /etc/init.d/
进入系统自动启动程序的目录
chkconfig --add postgresql
添加开机启动
chkconfig
查看是否添加成功
18.开启防火墙与端口
systemctl start firewalld.service
开启防火墙
systemctl enable firewalld.service
开启自启动防火墙
systemctl status firewalld
查看防火墙状态
firewall-cmd --zone=public --add-port=5432/tcp --permanent
添加PGSQL的5432端口
firewall-cmd --reload
重新导入添加的端口
firewall-cmd --zone=public --list-ports
查看当前已经开启的端口
19.启动数据库,检查启动状态
service postgresql start
ps -ef | grep postgres
20.设置密码
su postgres
切换用户
psql -U postgres
进入数据库的命令窗
ALTER USER postgres with encrypted password 'your-passwrod';
设置密码,将your-passwrod更换为你的密码
\q
退出数据库命令窗
21.使用工具连接PGSQL数据库
配置 Host即数据库服务器的IP地址,Port为5432,User Name为postgres,Password为你刚刚设置的密码后即可连接使用。