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
相关推荐
迪康Defender2 分钟前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
Jesse_EC2 小时前
换乘次数最少的路径 SQL 查询详解与实战经验——从 WITH RECURSIVE 到 pgRouting
数据库·postgresql
万联WANFLOW3 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
十碗饭吃不饱3 小时前
SSH 密钥认证详解:原理、实操、参数、排错与加固
运维·ssh
echoarts4 小时前
服务器连不上?FileZilla 改被动模式就好了
运维·服务器·其他
无言听风雨丶4 小时前
Redis 运维实战与排错
运维·数据库·redis
QXWZ_IA4 小时前
变电站数字孪生巡检的能力分层、数据接入与空间计算边界
运维·服务器·空间计算
miaobinfei5 小时前
docker拉取dify镜像,执行docker compose up -d 报错
运维·docker·容器
女神下凡5 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
天远API6 小时前
零信任架构实战:基于天远租凭分期报告构建自动化智慧租房免押分期履约评估网关
运维·人工智能·架构·自动化