一、安装PG13
1. 安装
# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Install PostgreSQL:
sudo yum install -y postgresql13-server
2. 指定数据目录
默认postgreql 安装在/usr/pgsql-13,数据存储目录:/var/lib/pgsql/13/data,在实际生产中/var可能存在硬盘空间不足的问题,我们一般将数据存储目录放在挂载的硬盘如/data下
chown postgres:postgres /data/pgdata
chmod 750 /data/pgdata
3. 修改启动参数
$vi /usr/lib/systemd/system/postgresql-13.service
# 修改PGDATA参数,该参数会在 postgresql-13-setup initdb 中使用
Environment=PGDATA=/data/pgdata
# 重新加载服务配置文件
systemctl daemon-reload
4. 初始化数据库
# 切换用户
su - postgres
# 初始化数据库
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
# 设置开机自动启动
sudo systemctl enable postgresql-13
执行时报用户不在sudoers中,在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升。在使用sudo命令的过程中,我们经常会遇到当前用户不在sudoers文件中的提示信息,如果解决该问题呢?通过下面几个步骤,可