论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
Mysql
›
CentOS7 安装 PostgreSQL
CentOS7 安装 PostgreSQL
天津储鑫盛钢材现货供应商
金牌会员
|
2025-3-20 18:35:14
|
显示全部楼层
|
阅读模式
楼主
主题
966
|
帖子
966
|
积分
2898
一、CentOS7 编译安装 PostgreSQL-12.22
PostgreSQL-12.22 及 PostgreSQL-14.15 版本的安装流程均遵照下文所述步骤
1. 编译安装
su root
复制代码
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake # 安装 PostgreSQL 的依赖包
wget https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.gz
tar -zxvf postgresql-12.22.tar.gz
cd postgresql-12.22
./configure --prefix=/usr/local/postgresql-12.22 # 指明安装路径为 `/usr/local/postgresql-12.22`
make -j$(nproc) && make install # 使用 $(nproc) 获取系统的CPU核心数,实现 make 任务的加速执行
复制代码
2. 创建 postgres 用户
su root
复制代码
groupadd postgres
useradd postgres -g postgres
passwd postgres
id postgres
cd /usr/local/postgresql-12.22
mkdir data log
chown -R postgres:postgres /usr/local/postgresql-12.22
chmod -R 700 /usr/local/postgresql-12.22
复制代码
3. 利用 postgres 用户管理 PostgreSQL
su postgres
复制代码
# 初始化
/usr/local/postgresql-12.22/bin/initdb /usr/local/postgresql-12.22/data
# 修改配置文件
vim /usr/local/postgresql-12.22/data/postgresql.conf
listen_addresses = '*'
port = 5432
vim /usr/local/postgresql-12.22/data/pg_hba.conf
host all all 0.0.0.0/0 md5 # 设置使用任意ip登录数据库需要使用基于 md5 加密策略验证用户身份
# 管理服务:开启、重启、重新加载配置文件、查看状态、停止
/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt start
/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt restart
/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt reload
/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt status
/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt stop
# 使用 psql 客户端登录数据库
/usr/local/postgresql-12.22/bin/psql -h 127.0.0.1 -p 5432 -d postgres -U postgres
/usr/local/postgresql-12.22/bin/psql -h 12.12.12.12 -p 5432 -d postgres -U postgres
# 修改数据库中 postgres 用户的密码
select usename, passwd from pg_shadow;
alter user postgres with password 'postgres123456';
复制代码
4. 配置 systemctl 工具管理服务
在配置 systemctl 文件时,由于 systemctl 命令仅限 root 用户利用,而 PostgreSQL 的二进制文件要求以 postgres 用户身份执行,因此必须明确指定服务以 postgres 用户权限运行
su root
复制代码
vim /etc/systemd/system/postgresql-12.22.service
复制代码
[Unit]
Description=PostgreSQL 12.22
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
ExecStart=/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt start
[Install]
WantedBy=multi-user.target
复制代码
systemctl daemon-reload
systemctl start postgresql-12.22.service
systemctl restart postgresql-12.22.service
systemctl status postgresql-12.22.service
systemctl enable postgresql-12.22.service
systemctl stop postgresql-12.22.service
reboot
复制代码
5. 远程连接测试
至此编译安装 PostgreSQL 完成
6. 直接将安装目次复制到另一台机器
将安装目次打包
su root
tar -zcvf postgresql-12.22.tar.gz postgresql-12.22
复制代码
将安装目次的压缩包上传到另一台服务器
su root
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmakegroupadd postgresuseradd postgres -g postgrespasswd postgresid postgrestar -zxvf postgresql-12.22.tar.gzchmod -R 700 /usr/local/postgresql-12.22chown -R postgres:postgres /usr/local/postgresql-12.22
复制代码
su postgres
/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt start/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt status/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt stop
复制代码
开机自启
su root
vim /etc/systemd/system/postgresql-12.22.service
复制代码
[Unit]
Description=PostgreSQL 12.22
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
ExecStart=/usr/local/postgresql-12.22/bin/pg_ctl -D /usr/local/postgresql-12.22/data -l /usr/local/postgresql-12.22/log/log.txt start
[Install]
WantedBy=multi-user.target
复制代码
systemctl daemon-reload
systemctl start postgresql-12.22.service
systemctl restart postgresql-12.22.service
systemctl status postgresql-12.22.service
systemctl enable postgresql-12.22.service
systemctl stop postgresql-12.22.service
reboot
复制代码
二、CentOS7 利用 yum 工具安装 PostgreSQL-14
官网
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql14-server
/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl enable postgresql-14
systemctl start postgresql-14
systemctl status postgresql-14
systemctl stop postgresql-14
复制代码
利用 yum 安装 PostgreSQL时
自动创建 postgres 用户
数据目次 data 位于 /var/lib/pgsql/14/data
二进制可执行文件目次 bin 位于 /usr/pgsql-14/bin
三、利用 rpm 离线安装 PostgreSQL-14
进入官网,下载所必要的 rpm 包到服务器,必要保证各个软件包的小版本保持一致,同时利用 rpm 离线安装必要提前下载所需依赖包的 rpm 软件包
安装时必要按照如下顺序【这里的软件包大概不全,可先执行命令安装,安装提示找缺少的 rpm 包安装即可】
libicu-50.2-4.el7_7.x86_64.rpm
libxslt-1.1.28-6.el7.x86_64.rpm
postgresql14-libs-14.15-1PGDG.rhel7.x86_64.rpm
postgresql14-14.15-1PGDG.rhel7.x86_64.rpm
postgresql14-server-14.15-1PGDG.rhel7.x86_64.rpm
postgresql14-contrib-14.15-1PGDG.rhel7.x86_64.rpm
安装完成后
自动创建 postgres 用户
数据目次 data 位于 /var/lib/pgsql/14/data
二进制可执行文件目次 bin 位于 /usr/pgsql-14/bin
rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm
rpm -ivh libxslt-1.1.28-6.el7.x86_64.rpm
rpm -ivh postgresql14-libs-14.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql14-14.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql14-server-14.15-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql14-contrib-14.15-1PGDG.rhel7.x86_64.rpm
复制代码
/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl enable postgresql-14
systemctl start postgresql-14
systemctl status postgresql-14
systemctl stop postgresql-14
复制代码
sql14-contrib-14.15-1PGDG.rhel7.x86_64.rpm
```sh/usr/pgsql-14/bin/postgresql-14-setup initdb
systemctl enable postgresql-14
systemctl start postgresql-14
systemctl status postgresql-14
systemctl stop postgresql-14
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
天津储鑫盛钢材现货供应商
金牌会员
这个人很懒什么都没写!
楼主热帖
linux shell 脚本 入门到实战详解[⭐建 ...
Flutter 3.0 发布啦~快来看看有什么新 ...
我与Java Boy的10年-从小白到资深架构 ...
深度解析KubeEdge EdgeMesh 高可用架构 ...
【MySQL】数据库多表操作通关教程(外键 ...
影音娱乐应用开发,这些关键词请查收 ...
读Java性能权威指南(第2版)笔记06_数 ...
腾讯会议使用OBS虚拟摄像头
zset底层的数据结构为什么使用调表而不 ...
SpringBoot中Tomcat和SpringMVC整合源 ...
标签云
运维
CIO
存储
服务器
浏览过的版块
Postrge-SQL技术社区
快速回复
返回顶部
返回列表