跳到主要内容

PostgreSQL 安装及配置

注意

🚧 本页文档仍在撰写中,请过段时间再来看吧

提示

PostgreSQL 是项目的必要依赖

小提示

本文主要面向新手小白,如果您已熟悉安装步骤,或有现成环境,可直接跳过当前步骤

简介

PostgreSQL 是常用的开源的关系型数据库,在本项目中用于数据持久化存储,系统配置等非设备报文数据将存储在此数据库中。

安装

以下是在 Ubuntu Server 24.04 系统上安装 PostgreSQL 的简单步骤,其他系统可参考 PostgreSQL 官方文档进行安装。

注意

此处仅列出简易安装步骤,内容更新可能不及时,如需生产部署,建议直接查阅原始文档

参考文档

安装命令:

# sudo apt install postgresql # 这样安装的是 16 版本

# 安装 18 版本
sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

sudo apt update
sudo apt install postgresql-18
如果之前安装过其他版本,需要先彻底卸载,再安装

检查已安装的 PostgreSQL 版本:

dpkg -l | grep postgresql # 检查已安装的 PostgreSQL 版本

卸载命令:

# 卸载 16 版本
sudo systemctl stop postgresql@16-main
sudo apt remove postgresql-16 postgresql-client-16
sudo apt purge postgresql-16 postgresql-client-16
# sudo systemctl restart postgresql@18-main
小提示
  • 如果需要从外部访问数据库,记得开放服务器防火墙 (ufw),可参考这篇文档
  • 另外,如果部署在云服务器上,并前往云服务器管理页面的安全组/防火墙(不同云厂商叫法不同)放开对应端口
  • 此外,如果使用宝塔面板,还需要在 安全 - 系统防火墙 通过 添加端口规则 功能放开对应端口,或直接关闭防火墙开关(不推荐)
    (如果使用其他管理面板,可参照此步骤检查是否有防火墙功能,如果有也需要放行端口)

配置

数据库授权:

-- SELECT * FROM pg_roles;
-- SELECT * FROM WHERE rolname = 'frostiot_lan';
-- update pg_roles set rolcreatedb = 't' WHERE rolname = 'frostiot_lan' ;

-- SELECT * -- grantee, table_schema, table_name, privilege_type
-- FROM information_schema.table_privileges
-- -- WHERE grantee = 'frostiot_lan';

-- 授权
GRANT CREATE ON DATABASE frostiot_lan TO frostiot_lan;
-- 撤销授权
REVOKE CREATE ON DATABASE frostiot_lan FROM frostiot_lan;