PostgreSQL安装与配置,在CentOS7.9平台安装PostgreSQL12.22
PostgreSQL12是应用比较多的数据库大版本,最新版本是12.22,下面记录一下PostgreSQL12.22安装配置过程,以备不时之需。
一.下载PostgreSQL源码包
# mkdir /software
# cd /software
# wget https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.gz
二.创建postgres用户
创建postgres用户,PostgreSQL将可以用postgres帐户启动.
# groupadd postgres
# useradd -g postgres postgres
# passwd postgres
三.编译及安装PostgreSQL
将下载的PostgreSQL源码包解压到/usr/local下.
# cd /usr/local
# tar xvf /software/postgresql-12.22.tar.gz
# cd postgresql-12.22
# ./configure --prefix=/usr/local/pgsql #将安装至/usr/local/pgsql,不指定会默认此路径
# make
# make install
四.数据库初始化(initdb)
使用initdb程序初始化磁盘上的数据存储区,即数据集簇,在创建数据集簇之后,该集簇中默认包含三个系统数据库template1、template0和postgres,其中template0和postgres都是在初始化过程中从template1拷贝而来的
template1和template0数据库用于创建数据库,template1数据库是创建数据库命令默认的模板,template0数据库作为最初始的备份数据,数据库postgres用于给初始用户提供一个可连接的数据库。
# mkdir /usr/local/pgsql/data #创建数据库目录
# mkdir /usr/local/pgsql/log #创建日志目录
# chown -R postgres:postgres /usr/local/pgsql/data
# chown -R postgres:postgres /usr/local/pgsql/log
# chmod -R 750 /usr/local/pgsql/data
# chmod -R 750 /usr/local/pgsql/log
切换或登录到postgres账号
# su - postgres
$
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data --data-checksums #初始化数据库
五.启动停止PostgreSQL
启动PostgreSQL数据库
# su - postgres
$
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l
/usr/local/pgsql/log/logfile start #启动数据库
停止PostgreSQL数据库
$
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l
/usr/local/pgsql/log/logfile stop #停止数据库
六.进入PostgreSQL
$ cd /usr/local/pgsql/bin/
$ ./psql #或者./psql -p 5432 -h 127.0.0.1
登录之后进入postgres系统级数据库
postgres=# select oid, datname from pg_database; #查询所有的数据库
修改数据库登录密码
postgres=# alter user postgres with password '***'; #修改数据库用户postgres的连接密码,远程连接需要用到
或者
postgres=# alter role postgres with password '***'; #修改数据库角色postgres的连接密码,远程连接需要用到
\d pg_authid
select rolname,rolsuper,rolcreaterole,rolcreatedb,rolcanlogin,rolpassword from pg_authid;
配置PATH变量,可以不用每次进入目录再执行命令.
$ vi .bash_profile
export PATH=/usr/local/pgsql/bin:$PATH;
直接进入psql.
$ psql
七.配置远程连接PostgreSQL
(1).配置监听地址
$ cd /usr/local/pgsql/data
$ vi postgresql.conf
listen_addresses = '*'
port = 5432
配置后需重启PG的服务.
(2).配置访问权限
$ cd /usr/local/pgsql/data
$ vi pg_hba.conf
host all all 192.168.1.0/24 md5
host all all 0.0.0.0/0 md5
(3).打开PostgreSQL的访问端口
# firewall-cmd --zone=public --add-port=5432/tcp --permanent
# firewall-cmd --reload
(4)远程连接PostgreSQL
接入PostgreSQL数据库: psql -h 服务器 -p 端口地址 -d 数据库 -U 用户名,之后要求输入数据库密码。
$ psql -h 192.168.101.79 -p 5432 -d postgres -U postgres
可以使用DBeaver图像界面客户端工具连接数据库。