CentOS7.9+PostgreSQL-12安装+配置+简单使用+卸载

一、PostgreSQL的yum安装

1. 导入yum源

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. 安装PostgreSQL服务

sudo yum install -y postgresql12 postgresql12-server
#安装PostgreSQL 9.5就是 yum install postgresql95 postgresql95-server 依此类推

3. 初始化数据库

# yum安装的postgresql的默认数据目录为/var/lib/pgsql/12/data,直接初始化就行,只能运行一遍,否则报错
# 使用自己的数据目录,参考https://blog.csdn.net/wc1695040842/article/details/106780666
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

4. 启动PostgreSQL服务

sudo systemctl start postgresql-12       #启动PostgreSQL服务
sudo systemctl enablepostgresql-12    #设置PostgreSQL服务为开机启动

二、配置PostgreSQL

postgresql会自动完成以下操作:
. 自动生成一个linux系统用户postgres:管理数据库的系统用户

修改该linux用户密码的方法:
sudo passwd -d postgres     # 步骤一:删除用户postgres的密码
sudo -u postgres passwd    # 步骤二:设置用户postgres的密码,系统提示输入新的密码

. 数据库用户postgres:数据库超级管理员
. 此用户的默认数据库为postgres

1. 修改默认postgres数据库用户的密码

sudo su postgres                 # 进入postgres用户
psql
alter user postgres with password 'postgres';
\q                                            # 退出

2. 配置参数文件:主要是配置postgresql.conf 和 pg_hba.conf

postgresql.conf 针对实例的配置

sudo su postgres                     # 进入postgres用户,其他用户没有权限修改下面的文件
vi /var/lib/pgsql/12/data/postgresql.conf
listen_addresses = '*'             # 默认localhost 改为 * what IP address(es) to listen on;
port = 1988                              # 默认5432 改为 1988(change requires restart) 
max_connections = 1000       # 默认100太少改为1000(change requires restart)

pg_hba.conf 针对数据库访问的控制

sudo su postgres    # 进入postgres用户,其他用户没有权限修改下面的文件
vi /var/lib/pgsql/12/data/pg_hba.conf
host  all   all   0.0.0.0/0  password           # 将此行添加至文末,其意义是允许 所有IP

常见的四种身份验证方式:
trust:凡是能连接到服务器的,都是可信任的。只需要提供数据库用户名,可以没有对应的操作系统同名用户;
password md5:对于外部访问,需要提供 psql 用户名和密码。对于本地连接,提供 psql 用户名密码之外,还需要有操作系统访问权(用操作系统同名用户验证)。password 和 md5 的区别就是外部访问时传输的密码是否用 md5 加密;
ident:对外部访问,从 ident 服务器获得客户端操作系统用户名,然后把操作系统作为数据库用户名进行登录;对于本地连接实际上使用peer;
peer:通过客户端操作系统内核来获取当前系统登录的用户名,并作为psql用户名进行登录。

3. 配置后需重新启动PostgreSQL服务生效

sudo systemctl restart postgresql-12        # 重启PostgreSQL服务(在centos用户下即可)
sudo su postgres
psql -U postgres -d postgres -h 10.100.24.7 -p 1988     # 在postgres用户下验证可否连接

三、简单使用

1. SQL控制台操作语句,建用户,建数据库

create database mbdwlog;                                                     # 数据库默认的owner是postgres
drop database mbdwlog;                                                        # 删除数据库
create user pythonuser with password 'abcd1234';             # 建用户
create database mbdwlog owner pythonuser;                     # 建用户的数据库
grant all privileges on database mbdwlog to pythonuser;   # 数据库权限赋予数据库用户

2. 常用命令

\l                 #查看所有数据库
\c mydb     #切换当前数据库
\d                #列出当前数据库下所有表
\du              # 列出所有用户
\dn              # 查看表架构
\conninfo    # 列出当前数据库和连接信息
\o /tmp/test.txt              # 查询结果写入文件
select * from test;
\o              # 再一次\o关闭写入,否则是连续写入
\w               # 列状显示

四、卸载PostgreSQL

1. 源码方式:make uninstall
2. rpm方式:rpm -e
3. yum方式:yum remove postgresql*

参考:

https://ken.io/note/centos7-postgresql12-install-and-configuration
https://blog.csdn.net/wc1695040842/article/details/106780666
https://blog.csdn.net/zhy810302/article/details/111401470

你可能感兴趣的:(CentOS7.9+PostgreSQL-12安装+配置+简单使用+卸载)