参考资料
名称 | 说明 | 备注 |
---|---|---|
数据库版本 | Postgres SQL 16 | |
系统版本 | almalinux 9.3 | |
postgresql源下载地址 | https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm | |
官方安装文档链接 | PostgreSQL: Linux downloads (Red Hat family) | 其他版本安装方式:选择版本和平台,复制安装脚本到Linux系统终端即可安装 |
一、安装流程
1. 服务安装
#安装postgresql源 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm #禁用内置的postgresql模块 sudo dnf -qy module disable postgresql #更新yum源 sudo yum update -y #安装数据库 sudo yum install -y postgresql15-server #初始化磁盘上的数据库存储区域 sudo /usr/pgsql-15/bin/postgresql-15-setup initdb |
2. 修改配置
基本信息
名称 | 说明 |
---|---|
安装路径 | /usr/pgsql-15 |
数据存储目录 | /var/lib/pgsql/15/data |
配置文件目录 | /var/lib/pgsql/15/data/postgresql.conf /var/lib/pgsql/15/data/pg_hba.conf |
psql -V #查看版本信息 sudo vi /var/lib/pgsql/15/data/postgresql.conf #修改配置文件 #修改内容如下 listen_addresses = '*' log_timezone = 'UTC' timezone = 'UTC' #打开另一个配置文件修改 sudo vi /var/lib/pgsql/15/data/pg_hba.conf #找到最后几行,修改为如下样式 # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 0.0.0.0/0 scram-sha-256 # IPv6 local connections: host all all ::1/128 scram-sha-256 |
3. 启动服务
#设置开启启动 sudo systemctl enable postgresql-15 #启动PostgreSQL sudo systemctl start postgresql-15 #查看PostgreSQL启动状态 sudo systemctl status postgresql-15 #重启服务 sudo systemctl restart postgresql-15 |
4. 连接数据库
#安装PostgreSQL数据库服务器后,默认情况下,它将创建一个postgres的数据库用户和具有相同名称的系统账户,请以Postgres用户身份登录到您的系统并连接数据库 sudo -i -u postgres #登录数据库 psql #登录之后,你可以使用下面命令检查登录信息 \conninfo #设值密码加密方式,默认是md5加密 ALTER SYSTEM SET password_encryption TO 'scram-sha-256'; #重新加载配置 SELECT pg_reload_conf(); #查看参数配置是否修改成功 SHOW password_encryption; #修改密码,会输入两次 \password #查询加密后的hash值,如果是SCRAM-SHA-256开头则修改成功 SELECT rolname,rolpassword FROM pg_authid WHERE rolcanlogin; #退出登录,可以使用下面的命令 \q |
5. 安全组开放端口
开发5432端口,参考以下文档
参考文档:云服务器开放端口
6. 添加用户
创建一个普通用户并分配权限
--创建用户并赋予密码 CREATE USER mella WITH PASSWORD '$6p&KGGX+H_;%7BW'; -- 赋予数据库连接权限 GRANT CONNECT ON DATABASE mellaserver TO mella; -- 赋予模式使用权限 GRANT USAGE ON SCHEMA public TO mella; -- 赋予所有表的增删改查权限 GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO mella; -- 赋予所有序列的权限 GRANT ALL ON ALL sequences IN SCHEMA public TO mella; -- 查看用户权限是否设置成功 SELECT grantee,table_schema,table_name,string_agg( privilege_type,', ' ) as privilege_type FROM information_schema.role_table_grants group by grantee,table_schema,table_name; |
参考链接:PostgreSQL用户及权限管理
7. 开启备份
参考链接:02-Postgresql 双重备份流程
8. 关闭远程访问
参考下方文档中的EC2数据库操作关闭远程
参考文档:数据库远程运维流程
二、帮助
1. 修改密码
#1. 修改linux系统postgres用户的密码 PostgreSQL会创建一个默认的linux用户postgres,修改该用户密码的方法如下: ##步骤一:删除用户postgres的密码 sudo passwd -d postgres ##步骤二:设置用户postgres的密码 sudo -u postgres passwd ##系统提示输入新的密码 Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully #2. 修改PostgreSQL数据库默认用户postgres的密码 PostgreSQL数据库创建一个postgres用户作为数据库的管理员,密码随机,所以需要修改密码,方式如下: ##步骤一:登录PostgreSQL sudo -u postgres psql ##步骤二:修改登录PostgreSQL密码 ALTER USER postgres WITH PASSWORD 'ROOT'; |
注意:
- 密码要用引号引起来
- 命令最后有分号
2. 其他命令
查询linux内核命令:uname -r 查询centos版本命令:lsb_release -a |