CentOS7 离线安装 Postgresql 指南

news/2025/2/21 18:46:59/

一、背景

服务器通常都是离线内网环境,想要通过联网方式一键下载安装 Postgresql 不太现实,本文将介绍如何在 CentOS7 离线安装 Postgresql,以及遇到困难如何解决。

二、安装包下载

先在本地下载好 rpm 包,再通过 ftp 上传到服务器。

下载地址:Index of /pub/repos/yum/15/redhat/rhel-7-x86_64/

主要需要这三个包:

三、离线安装

安装指令:

sudo rpm -ivh postgresql15-*.rpm

报错,是因为缺少依赖,

缺的是这两个依赖:

  • zlib http://zlib.net/
  • icu https://icu.unicode.org/

解决:到阿里云镜像仓库搜索 lz4-1.8.3-1.el7.x86_64.rpm、libicu-50.2-4.el7_7.x86_64.rpm,下载 rpm,然后安装,

sudo rpm -ivh lz4-1.8.3-1.el7.x86_64.rpm
sudo rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm

缺少依赖 libzstd,

libzstd https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/

下载 rpm ,安装,

 sudo rpm -ivh libzstd-1.5.5-1.el7.x86_64.rpm

接着前面的依赖安装,然后最终安装数据库,成功,

四、初始化数据库

cd /usr/pgsql-15/bin
sudo ./postgresql-15-setup initdb

查看数据库初始化日志,日志结尾处有完整的数据库启动命令,

sudo cat /var/lib/pgsql/15/initdb.log

数据库初始化完成后,有2个目录比较重要:

/usr/pgsql-15/,该目录存放数据库核心命令,例如pg_ctl(数据库启动/停止)、psql(SQL命令行客户端),以及所有数据库共享的配置文件(在同一机器上可以同时启动多个数据库服务进程),例如postgresql.conf,数据库监听的端口号和绑定IP地址就是在文件中配置的。

/var/lib/pgsql/15/data,数据库初始化后,默认的数据存储目录,该目录下也有postgresql.conf,但是这些配置只是针对当前数据库,该目录下另外一个重要的文件是pg_hba.conf,该文件用于配置数据库访问权限,添加远程访问的IP网段。

五、数据库配置

# 主要修改绑定ip和日志目录
sudo vim /var/lib/pgsql/15/data/postgresql.conf
listen_addresses = 'localhost' 
log_directory = '/var/lib/pgsql/15/logs/'
# 注意,生产环境 localhost 要改为真正的 ip 地址# 修改ip权限,允许远程链接
sudo vim /var/lib/pgsql/15/data/pg_hba.conf
# 找到IPv4 local connections
# 然后添加自己需要的IP网段
host    all             all             10.XX.XX.XX/24             scram-sha-256

启动数据库

sudo systemctl start postgresql-15
sudo systemctl status postgresql-15

修改 postgres 账号密码,

sudo systemctl stop postgresql-15
sudo vim /var/lib/pgsql/15/data/pg_hba.conf
认证方式修改为 trust
sudo systemctl start postgresql-15cd /usr/pgsql-15/bin/
psql -U postgres -h 127.0.0.1
alter user postgres with password 'mypassword';sudo systemctl stop postgresql-15
sudo vim /var/lib/pgsql/15/data/pg_hba.conf
认证方式修改为 scram-sha-256
sudo systemctl start postgresql-15

六、修改数据存储位置

sudo systemctl stop postgresql-15sudo mkdir /Data/pgdata
sudo chown -R postgres:postgres /Data/pgdata
sudo chmod -R 700 /Data/pgdatasudo mkdir /Data/pglogs
sudo chown -R postgres:postgres /Data/pglogs
sudo chmod -R 700 /Data/pglogs# sudo vim /var/lib/pgsql/15/data/postgresql.conf
# data_directory = '/Data/pgdata'cd /usr/pgsql-15/bin
./initdb -D /Data/pgdatasudo vim /usr/lib/systemd/system/postgresql-15.service
# Environment=PGDATA=/Data/pgdata/sudo systemctl daemon-reloadsudo systemctl start postgresql-15
sudo systemctl status postgresql-15createuser -s -r postgrespsql -U postgres -h 127.0.0.1alter user postgres with password 'mypassword';


http://www.ppmy.cn/news/1573951.html

相关文章

Python 高级特性-迭代

目录 迭代 练习 小结 迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的,而很多语言比如C语言&a…

EasyPoi系列之通用导入接口设计

EasyPoi系列之通用导入接口设计 1 背景2 分析及设计2.1 标准导入交互分析2.2 设计2.2.1 导入模板生成接口2.2.2 数据导入接口 3、代码实现3.1 人员实体-PersonEntity3.2 定义数据保存通用接口-ExcelImporter3.3 人员数据保存实现- PersonService3.4 建立业务与实体及保存实现类…

免费体验,在阿里云平台零门槛调用满血版DeepSeek-R1模型

一、引言 随着人工智能技术的飞速发展,各类AI模型层出不穷。其中,DeepSeek作为一款新兴的推理模型,凭借其强大的技术实力和广泛的应用场景,逐渐在市场中崭露头角。本文将基于阿里云提供的零门槛解决方案,对DeepSeek模…

将 DeepSeek 接入 WPS 为办公提效 !

文章目录 1. 下载 OfficeAI 插件2. 安装 OfficeAI 插件3. 配置本地大模型4. 接入 API 方式5. 应用场景 工欲善其事必先利其器 1. 下载 OfficeAI 插件 OfficeAI助手 官网 : https://www.office-ai.cn/static/introductions/officeai/introduction.html 点击下载即可 2. 安装…

C++蓝桥杯基础篇(四)

片头 嗨~小伙伴们,大家好!今天我们来学习C蓝桥杯基础篇(四),继续练习相关习题。准备好了吗?咱们开始咯~ 题目1 连续整数相加 思路分析: 这道题,我们可以把从键盘中读取n写在while循…

golang访问google sheet 写接口

如何访问google sheet、读接口详见 Golang访问Google Sheet import ("bytes""context""fmt""golang.org/x/oauth2/google""google.golang.org/api/option""google.golang.org/api/sheets/v4""runtime/debug…

Golang通过 并发计算平方 示例演示并发

示例 以下代码演示了如何使用 Goroutines 并发计算一组数字的平方,并通过通道收集结果。 package mainimport ("fmt""time" )// worker 函数,用于计算一个数字的平方,并将结果发送到通道 func worker(id int, numbers …

如何利用AI制作PPT,轻松实现高效演示

如何利用AI制作PPT,轻松实现高效演示!在这个信息爆炸的时代,PPT已经成为了日常工作和学习中不可或缺的工具。每当我们需要汇报、展示或总结时,PPT几乎成了“必杀技”。然而制作一份精彩的PPT往往需要花费大量的时间和精力。随着人…