一.简介

PostgreSQL是一个功能强大的开源关系型数据库管理系统,官方 安装指导,官方 使用文档

二安装

1.postgresql12安装

#redhar/centos7
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql12-server
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12
#检查端口
sudo ss -tlunp | grep 5432
#或者
#配置postgresql12yum源
cat >/etc/yum.repos.d/pgsql.repo<<'EOF'
[psql]
name=psql repo
baseurl=https://mirror.tuna.tsinghua.edu.cn/postgresql/repos/yum/12/redhat/rhel-7.4-x86_64/
enabled=1
gpgcheck=0
EOF
#安装pgsql12
yum -y install postgresql12-server
#初始化数据库
postgresql-12-setup initdb
#启动数据库
systemctl enable postgresql-12
systemctl start postgresql-12
#检查端口
ss -tlunp | grep 5432
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.

2.登录

#登录
sudo -u postgres psql
#或切换到postgres用户后登录
su - postgres
psql
#退出
\q
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

3.修改密码

psql12安装完成后,默认的超级用户是postgres 密码是安装过程中设置的,通常是不会自动显示的。如果你忘记了密码,可以通过以下步骤找回。

#登录
sudo -u postgres psql
#停止服务
sudo service postgresql stop
#更改密码
ALTER USER postgres WITH PASSWORD 'newpassword';
\q
#重启服务
sudo service postgresql start
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

三.使用

1.创建用户和数据库

#创建用户、数据库
su - postgres
psql
create user sonar with password 'alibaby';
create database sonar owner sonar;
grant all privileges on database sonar to sonar;
\q
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

2.添加访问控制

#配置文件修改访问控制 添加对sonar用户和sonar库的信任
cd /var/lib/pgsql/12/data/
sed -i '/# IPv4 local connections:/a host  sonar   sonar    127.0.0.1/32     trust' pg_hba.conf  
#重启数据库
systemctl restart postgresql-12
#登录测试 提示口令输入密码alibaby,正常登录说明没问题
su - postgres
psql -h127.0.0.1 -Usonar -dsonar -W
\q
exit
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

3.常用运维命令

#查看数据库版本信息
select version();
#查看数据库的启动时间:
select pg_postmaster_start_time();
#查看最后load配置文件的时间:
select pg_conf_load_time();
#显示当前数据库时区
show timezone;
#查看数据库列表
\l
#查看表空间列表
\db
#查看表定义
\d
#查看表大小
\dt+
#查看用户:
\du
#切换连接的数据库
\c 数据库名
#查看数据库最大连接数
show max_connections;
#查看数据库当前连接数
select count(*), usename from pg_stat_activity group by usename;
#备份数据库:
pg_dump -u 用户名 数据库名 > 备份文件名.sql
#恢复数据
psql -u 用户名 -d 数据库名 < 备份文件名.sql
#慢查询日志
通过配置慢查询日志功能,可以记录执行时间超过一定阈值的sql查询,有助于分析和优化性能问题。
#查看正在执行的sql任务
通过查询pg_stat_activity视图,可以查看当前正在执行的sql任务及其状态。
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.