yum安装postgresql
PostgreSQL: Linux downloads (Red Hat family) 官方下载地址

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm 下载rpm包15.x版本
sudo yum install -y postgresql15-server 安装postgresql15版本

安装时报错缺少依赖,那么需要下载相关依赖
yum -y install epel-release 安装epel库
yum -y install zstd
sudo yum install -y postgresql15-server 下载完依赖在重新安装自动下载依赖
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb 初始化
sudo systemctl enable postgresql-15 设置开机自启
sudo systemctl start postgresql-15 启动postgresql
配置环境变量
vim /etc/profile
export PGSQL_HOME=/usr/pgsql-15
export PATH=$PATH:$PGSQL_HOME/bin
source /etc/profile
在 PostgreSQL 中,用户账号称为角色默认情况下,PostgreSQL 使用 ident 身份验证。
PostgreSQL 会将其角色与 Linux 的系统账号关联起来。如果 PostgreSQL 中存在角色,则具有相同名称的同一 Linux 用户账号可以作为该角色登录。当安装 PostgreSQL 时,安装过程会创建一个名为postgres的与默认postgres角色关联的用户账号。要使用postgres角色连接到 PostgreSQL需要切换到postgres用户使用psql命令进行登录
首先给postgres设置一个密码方便普通用户切换用户登录
passwd postgres 设置Zxcvbnm@123
su tom
su postgres
psql

PostgreSQL默认情况下不支持远程连接,如果需要远程连接需要修改配置文件
vim /var/lib/pgsql/15/data/postgresql.conf
#listen_addresses = 'localhost' 把这行参数打开注释修改成*

修改了postgresql.conf文件还要修改pg_hba.conf配置,pg_hba.conf是PostgreSQL的身份验证配置文件,它定义了哪些客户端可以连接到数据库服务器以及如何进行身份验证。
vim /var/lib/pgsql/15/data/pg_hba.conf

host:指定基于 TCP/IP 的连接。
all:允许连接到所有数据库。
all:允许所有用户连接。
0.0.0.0/0:允许来自任何 IP 地址的连接。
scram-sha-256:使用 SCRAM-SHA-256 认证
sudo systemctl restart postgresql-15 修改完配置文件重启
yum安装的pgsql默认安装到了 /var/lib/pgsql/,修改pgsql默认存储目录
mkdir /data/pgsql/15/data -p 创建新的存储目录
chown postgres:postgres /data/pgsql/ -R 给pgslq用户权限
sudo -u postgres /usr/pgsql-15/bin/initdb -D /data/pgsql/15/data/ 重新初始化指定存储目录

vim /usr/lib/systemd/system/postgresql-15.service 修改管理配置文件指定存储目录
Environment=PGDATA=/data/pgsql/15/data/ 这个参数修改为新的路径

sudo systemctl daemon-reload 刷新一下配置
sudo systemctl start postgresql-15 启动pgsql
sudo -u postgres psql -c "SHOW data_directory;" 查询一下现在的存储目录注意更改了存储目录初始化后配置文件都是新生成默认配置,如需修改还要在改一遍。

到这就修改完成了。
在linxu系统创建同名用户并且指定加入postgres组
useradd obr_root
usermod -aG postgres obr_root 这样同名用户登录pgsql才有读写权限
CREATE USER obr_root WITH PASSWORD 'Zxcvbnm@123'; 创建用户并设置密码
ALTER ROLE obr_root WITH SUPERUSER; 给用户提权超级管理员
SET ROLE obr_root; 切换用户
create database test; 创建库
\l 查看所有库
\du 查看所有用户
CREATE ROLE obr_root WITH SUPERUSER LOGIN PASSWORD 'Zxcvbnm@123'; 创建管理员用户
ALTER USER postgres WITH PASSWORD 'Zxcvbnm@123'; 给用户修改密码
远程连接命令 psql -h地址 -p5432 -U用户 -d库
更多推荐
所有评论(0)