rpm方式安装postgres数据库及普通用户管理数据库

devtools/2024/11/26 10:41:11/

一、安装postgres 数据库

下载rpm安装包

wget https://ftp.postgresql.org/pub/repos/yum/15/redhat/rhel-7.9-x86_64/postgresql15-libs-15.5-1PGDG.rhel7.x86_64.rpm
wget https://ftp.postgresql.org/pub/repos/yum/15/redhat/rhel-7.9-x86_64/postgresql15-15.5-1PGDG.rhel7.x86_64.rpm
wget https://ftp.postgresql.org/pub/repos/yum/15/redhat/rhel-7.9-x86_64/postgresql15-contrib-15.5-1PGDG.rhel7.x86_64.rpm
wget https://ftp.postgresql.org/pub/repos/yum/15/redhat/rhel-7.9-x86_64/postgresql15-server-15.5-1PGDG.rhel7.x86_64.rpm

安装依赖软件

# 安装依赖
yum install -y libzstd

安装数据库

# 安装pg数据库
yum -y localinstall *.rpm# 初始化数据库
]# /usr/pgsql-15/bin/postgresql-15-setup initdb
Initializing database ... OK

启动数据库并加入到开机自启中

# 启动数据库
sudo systemctl enable --now  postgresql-15

二、用普通用户启停 postgres 数据库

需求:后续管理postgres数据库用普通用户app来操作,操作范围包括启停服务,修改配置文件,这里操作需小心谨慎,postgres数据库对权限管理还是严格的,如果权限配置不当会导致数据库启停失败。

编辑系统配置文件,在最后一行追加。

# 追加配置
app ALL=(ALL) NOPASSWD: /bin/systemctl start postgresql-15, /bin/systemctl stop postgresql-15, /bin/systemctl restart postgresql-15, /bin/systemctl status postgresql-15# 保存退出

postgres服务 授予app权限

# 给pg数据库目录授权
cd /var/lib/
chmod -R 750 pgsql/# 给pg配置文件授权
cd /var/lib/pgsql/15/data
chmod 777 postgresql.conf# app用户加入到postgresql组里
usermod -a -G postgres app

切换到 app 用户查看是否可以管理 pg 服务

# 切换到app用户 用systemctl命令 查看是否可以使用
]# su app# 查看pg运行状态
]$ sudo systemctl status  postgresql-15
● postgresql-15.service - PostgreSQL 15 database serverLoaded: loaded (/usr/lib/systemd/system/postgresql-15.service; enabled; vendor preset: disabled)Active: active (running) since 日 2024-11-24 19:06:37 CST; 22min agoDocs: https://www.postgresql.org/docs/15/static/Process: 7594 ExecStartPre=/usr/pgsql-15/bin/postgresql-15-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)Main PID: 7601 (postmaster)Tasks: 7Memory: 20.0MCGroup: /system.slice/postgresql-15.service├─7601 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/├─7602 postgres: logger ├─7604 postgres: checkpointer ├─7605 postgres: background writer ├─7607 postgres: walwriter ├─7608 postgres: autovacuum launcher └─7609 postgres: logical replication launcher 11月 24 19:06:37 yunwei-test- systemd[1]: Starting PostgreSQL 15 database server...
11月 24 19:06:37 yunwei-test- postmaster[7601]: 2024-11-24 19:06:37.852 CST [7601] 日志:  日志输出重定向…进程
11月 24 19:06:37 yunwei-test- postmaster[7601]: 2024-11-24 19:06:37.852 CST [7601] 提示:  后续的日志输出…g"中.
11月 24 19:06:37 yunwei-test systemd[1]: Started PostgreSQL 15 database server.
Hint: Some lines were ellipsized, use -l to show in full.# 重启gp数据库
]$ sudo systemctl restart  postgresql-15
]$ sudo systemctl status  postgresql-15
● postgresql-15.service - PostgreSQL 15 database serverLoaded: loaded (/usr/lib/systemd/system/postgresql-15.service; enabled; vendor preset: disabled)Active: active (running) since 日 2024-11-24 19:40:47 CST; 1s agoDocs: https://www.postgresql.org/docs/15/static/

至此 app 用户操作 postgres 数据库验证已完成。

三、错误排查

启动失败报错排查,我这里遇到的基本上是因权限配置导致的启动失败,查看日志有两个渠道,一个是服务本身的日志,另一个是 journalctl 命令留存的日志。

服务本身的日志位置在 /var/lib/pgsql/15/data/log

journaltct 的日志 需要输入命令查看

journalctl -u postgresql-15

这里查看报错日志,根据提示修改权限就可以正常启动 postgres数据库了。

23]: 2024-11-24 19:31:07.981 CST [8123] 致命错误:  数据目录"/var/lib/pgsql/15/data"的权限无效
23]: 2024-11-24 19:31:07.981 CST [8123] 详细信息:  权限应该为 u=rwx (0700) 或者u=rwx,g=rx (0750).


http://www.ppmy.cn/devtools/137096.html

相关文章

【漏洞复现】代付微信小程序系统 read.php 任意文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的信息,以帮助用户了解潜在风险。发布此信息旨在促进网络安全意识和技术进步,并非出于恶意。读者应理解,利用本文提到的漏洞或进行相关测试可能违反法律或服务协议。未经授权访问系统、网络或应用程序可能导致法律责任或严重后果…

QT QPushButton控件 全面详解

本系列文章全面的介绍了QT中的57种控件的使用方法以及示例,包括 Button(PushButton、toolButton、radioButton、checkBox、commandLinkButton、buttonBox)、Layouts(verticalLayout、horizontalLayout、gridLayout、formLayout)、Spacers(verticalSpacer、horizontalSpacer)、…

前端知识点---稀疏数组(javascript)

文章目录 稀疏数组(javascript)稀疏数组的特点:如何创建稀疏数组:稀疏数组的行为:稀疏数组的实际应用:注意事项: 稀疏数组(javascript) 在 JavaScript 中,稀疏数组(sparse array) 是…

C#+数据库 实现动态权限设置

将权限信息存储在数据库中,支持动态调整。根据用户所属的角色、特定的功能模块,动态加载权限” 1. 数据库设计 根据这种需求,可以通过以下表设计: 用户表 (Users):存储用户信息。角色表 (Roles):存储角色…

【深度学习】利用Java DL4J训练中文版的Word2Vec模型

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…

【优选算法】前缀和

目录 一、[【模板】前缀和](https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf?tpId230&tqId2021480&ru/exam/oj&qru/ta/dynamic-programming/question-ranking&sourceUrl%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595…

Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?

大家好,我是锋哥。今天分享关于【Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?】面试题。希望对大家有帮助; Elasticsearch中的节…

C语言蓝桥杯组题目

系列文章目录 文章目录 系列文章目录前言题目第一题.1, 2, 3, 4 能组成多少个互不相同且无重复数字的三位数?都是多少?思路 第二题: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少…