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
相关推荐
hzxpaipai3 分钟前
杭州企业官网怎么建设?从策划到上线的5步建站方法
运维·服务器·前端·网络
哲霖软件7 分钟前
非标机械设备公司怎么做信息化?破解通用ERP水土不服难题
大数据·运维
子木HAPPY阳VIP44 分钟前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu
王振超wzc1 小时前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu
AutumnWind04202 小时前
【Docker Compose 快速入门】
运维·docker·容器
QYRdata2 小时前
2026-2032年图形处理云服务器CAGR预计达18.7%
运维·服务器·服务发现
分布式存储与RustFS2 小时前
图床搬到自己的对象存储:PicGo 加 S3 插件的完整配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
月落汀兰3 小时前
建池后类型不可修改!深度拆解 Ceph PG 放置组,副本 / 纠删码池选型,快照与命名空间避坑
运维·ceph
技术人生0013 小时前
VMware Workstation 安装 Ubuntu 24.04 LTS 完整教程
运维·服务器·ubuntu
智能运维指南4 小时前
从分散运维到统一运维:2026 统一运维管理体系建设路径与选型要点
运维·一体化运维·智能运维·嘉为蓝鲸