centos离线使用源码安装Postgre SQL

本文详细介绍了如何从PostgreSQL官方网站下载源代码包,上传到服务器,解压、编译、配置、安装,创建用户组和数据库,初始化数据库,启动/关闭服务,修改密码以及开启远程访问的过程。
摘要由CSDN通过智能技术生成

1源代码包获取

https://www.postgresql.org/ftp/source/
在这里插入图片描述
这里我以下载14.5版本的tar.gz为例
在这里插入图片描述

2源码包上传服务器

将下载的源码上传至目标服务器,这里我上传到:/usr/local/postgres14.5/src,我们可以创建这个目录,然后在上传到这个目录下

mkdir -p /usr/local/postgres14.5/src

在这里插入图片描述

3解压源代码

cd /usr/local/postgres14.5/src
gunzip postgresql-14.5.tar.gz
tar -xf postgresql-14.5.tar
cd 

在这里插入图片描述

4检查、编译、安装

进入解压的源代码目录,然后再该目录下执行configure

cd postgresql-14.5

安装目录:prefix=/usr/local/pgsql-14.5
端口:15432
without-readline:如果你没有安装readline,并且也不打算安装readline,执行检查configure时,可以跳过

#需要有readline
./configure --prefix=/usr/local/pgsql-14.5 --with-pgport=15432

#跳过readline
./configure --prefix=/usr/local/pgsql-14.5 --with-pgport=15432 --without-readline

备注:以下是没有readline,并且也没有跳过readline安装时,会报错,此时,需要安装readline,重新进行检查
在这里插入图片描述
接下来,使用跳过readline,执行检查过一会儿,如下,没有报错即可
在这里插入图片描述
接下来执行编译和安装(编译的时间有点长,等会儿)

make
make install

执行完install以后,无报错即可
在这里插入图片描述

5创建用户和组

用户组:postgres

groupadd postgres

用户:postgres_dky
添加用户到用户组中:添加postgres_dky到postgres

useradd -g postgres postgres_dky

6数据库初始化

创建数据库存储文件

mkdir -p /run/media/postgres/data

为了防止后续操作中出现一些列权限问题,这里我们需要提前赋权

chmod -R 777 /run/media/
chmod -R 777 /usr/local/pgsql-14.5/bin/

chown postgres_dky /run/media/postgres/data
chown postgres_dky /usr/local/pgsql-14.5/bin/initdb

切换到用户postgres_dky

su - postgres_dky

在这里插入图片描述

执行初始化命令

/usr/local/pgsql-14.5/bin/initdb -D /run/media/postgres/data

在这里插入图片描述
至此,初始化完毕

7启动关闭数据库

注意,启动关闭需要保证是在我们postgres用户之下,仔细看我们之前执行的一系列命令,可以发现前缀在root和postgres_dky是不一样的在这里插入图片描述
如果我们在root用户下执行,会出现如下错误
在这里插入图片描述
因此需要切换到我们创建的postgres_dky用户下执行

 su - postgres_dky

启动数据库,我们可以启动之后通过ps命令查看服务是否已经启动

/usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile start

在这里插入图片描述

在这里插入图片描述

关闭数据库,关闭数据库之后,我们可以通过ps命令查看服务是否已经没了

/usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile stop

在这里插入图片描述

8修改数据库密码

首先保证pg数据库已经启动(防止前面已经关闭了)

首先创建psql连接,这里需要在root用户下执行,否则会提示拒绝
在这里插入图片描述

ln -s /usr/local/pgsql-14.5/bin/psql /usr/bin/psql

在root下执行,就不会拒绝了。
在这里插入图片描述
创建连接以后,在切回到pg数据库用户

su - postgres_dky

查看数据库信息

psql -l

在这里插入图片描述
可以看到我们有数据库postgres,所有者postgres_dky,现在我们登录postgres数据库

#psql -U <username> -d <database> -h <hostname> -p <port>
psql -U postgres_dky -d postgres

在这里插入图片描述
接下来,我们将postgres_dky用户的密码重置

alter role postgres_dky with password '2024.com';

在这里插入图片描述
最后退出数据库:exit

exit

在这里插入图片描述

9开启远程访问

编辑postgresql.conf
需要切换至root用户,将listen_addresses的注释放开,并且localhost改为:*,同时端口注释也放开

su root
cd /run/media/postgres/data
vim postgresql.conf

在这里插入图片描述
编辑pg_hba.conf
修改pg_hba.conf 添加远程访问的认证方式,未尾添加 host all all 0.0.0.0/0 md5

host    all             all             0.0.0.0/0               md5

在这里插入图片描述
重启数据库

# start stop restart
/usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile restart

在这里插入图片描述
开放端口
如果你是普通的服务器则可以如下自己开启端口

#查看已开放的端口
firewall-cmd --list-ports

#开放
firewall-cmd --permanent --zone=public --add-port=15432/tcp

#重启防火墙
firewall-cmd --reload

如果你是阿里云服务器,则去阿里云上开放端口,同理腾讯云也一样,如果是自己公司内部的云服务器,则找你们对应的网管给你们开通端口权限。

测试连接
在这里插入图片描述

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值