debian安装Postgresql-14.x

一、安装准备

1.1、环境准备
  • postgresql-14.10

  • debian

  • 注意:确认linux系统可以正常连接网络,因为在后面需要添加依赖包。

1.2、安装包下载

下载地址:PostgreSQL

选择需要安装的版本进行下载:

或者从官方仓库下载源码包并解压:

bash 复制代码
wget https://ftp.postgresql.org/pub/source/v14.10/postgresql-14.10.tar.gz
tar -xvf postgresql-14.10.tar.gz
cd postgresql-14.10

‌注意‌:版本号 14.10 可替换为最新的 14.x 版本。

1.3、安装依赖包

首先安装编译 PostgreSQL 所需的依赖库:

bash 复制代码
sudo apt update
sudo apt install -y build-essential libreadline-dev zlib1g-dev flex bison libxml2-dev libxslt-dev libssl-dev

二、安装postgresql

2.1、上传安装包

在根目录下新建 /opt/pgsql 文件夹,并将postgresql的压缩包上传到此文件夹中。

bash 复制代码
mkdir -p /opt/pgsql
 
cd /opt/pgsql/
 
ll
2.2、解压压缩包
bash 复制代码
tar -zxvf postgresql-14.10.tar.gz
2.3、编译postgresql源码
bash 复制代码
cd postgresql-14.10
 
./configure --prefix=/opt/pgsql/postgresql
 
make && make install

已完成postgresql的安装,进入/opt/pgsql/postgresql 目录可以看到安装后的postgresql的文件。

2.4、创建数据库的数据主目录
bash 复制代码
#切换到数据库主目录下
cd /opt/pgsql/postgresql/
#创建数据目录
mkdir data

三、创建用户组和用户及授权

3.1、创建用户组和用户

创建一个系统用户用于运行 PostgreSQL 服务:

bash 复制代码
sudo adduser --system --home /opt/pgsql/postgresql/data --shell /bin/bash postgres

创建用户组

groupadd postgres
bash 复制代码
groupadd postgres

# 指定目录 
useradd -g postgres postgres -d /home/postgres
 
id postgres
3.2、为数据库的数据授权
bash 复制代码
#为数据目录授权
chown postgres:postgres data
3.3、创建日志文件路径及授权

确保 postgres 用户对日志文件所在目录有写入权限:

bash 复制代码
# 创建日志路径
sudo mkdir -p /var/log/postgresql

# 对用户组授权
sudo chown postgres:postgres /var/log/postgresql

四、配置及启动服务

4.1、启动服务

指定目录手动启动 PostgreSQL:

bash 复制代码
sudo -u postgres /opt/pgsql/postgresql/bin/pg_ctl -D /opt/pgsql/postgresql/data -l /var/log/postgresql/postgresql.log start
4.2、停止服务
bash 复制代码
sudo -u postgres /opt/pgsql/postgresql/bin/pg_ctl -D /opt/pgsql/postgresql/data stop
4.3、查看端口情况
bash 复制代码
sudo netstat -tulnp | grep 5432
4.4、配置服务

修改/opt/pgsql/postgresql/data目录下的两个文件。

  • postgresql.conf 配置postgresql数据库服务器的相应的参数。

  • pg_hba.conf 配置对数据库的访问权限。

修改postgresql.conf配置文件:

bash 复制代码
vi postgresql.conf

其中,参数"listen_addresses"表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。

修改pg_hba.conf配置文件:

bash 复制代码
vi pg_hba.conf
 
host    all             all             0.0.0.0/0               trust
#新增这一行

找到最下面这一行,这样局域网的人才能访问。

4.5、设置开机自启

创建 systemd 服务文件 /etc/systemd/system/postgresql.service

添加内容:

bash 复制代码
[Unit]
Description=PostgreSQL Database Server
After=network.target

[Service]
Type=forking
User=postgres
Group=postgres

# PostgreSQL 安装路径和数据目录(根据实际路径修改)
Environment=PGDATA=/opt/pgsql/postgresql/data
ExecStart=/opt/pgsql/postgresql/bin/pg_ctl -D /opt/pgsql/postgresql/data -l /var/log/postgresql/postgresql.log start
ExecStop=/opt/pgsql/postgresql/bin/pg_ctl -D /opt/pgsql/postgresql/data stop
ExecReload=/opt/pgsql/postgresql/bin/pg_ctl -D /opt/pgsql/postgresql/data reload

# 启动超时设置(可选)
TimeoutSec=300

# 重启策略(可选)
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

然后启用服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable postgresql
sudo systemctl start postgresql

#停止
sudo systemctl stop postgresql
4.6、‌配置环境变量‌

将 PostgreSQL 可执行文件路径添加到 PATH:

bash 复制代码
echo 'export PATH=/opt/pgsql/postgresql/bin:$PATH' >> ~/.bashrc

source ~/.bashrc
4.6、验证安装‌

检查版本并连接数据库:

bash 复制代码
psql --version
psql -U postgres -h localhost
相关推荐
IvorySQL1 小时前
IvorySQL v5 发布后,我们想听听大家的使用体验
数据库·postgresql·开源
IMPYLH2 小时前
Linux 的 chroot 命令
linux·运维·服务器
IvorySQL2 小时前
PostgreSQL 技术日报 (3月20日)|PGConf.dev 2026 日程公布
数据库·postgresql·开源
一殊酒2 小时前
【Docker】Docker Desktop 安装指南及汉化教程
运维·docker·容器
克莱因3582 小时前
Linux Cent OS7 at定时任务
linux·运维·服务器
RisunJan2 小时前
Linux命令-make(GNU的工程化编译工具)
linux·运维·gnu
闲猫2 小时前
Linux 历史命令(history)
linux·运维·chrome
Memory_荒年2 小时前
TiDB 单机部署与监控完整指南
运维·数据库·后端
耗子会飞2 小时前
小白学习centos7安装RocketMQ
运维