For the complete documentation index, see llms.txt. This page is also available as Markdown.

PostgreSQL

概述

PostgreSQL 是一款稳健的开源关系型数据库管理系统(RDBMS),以标准合规性、可扩展性与强一致性保证著称。它广泛用于需要可靠事务数据存储、通过 SQL 进行结构化查询,以及高级数据类型或函数的应用场景。

PostgreSQL 可通过 OpenBSD 的软件包系统安装,并通过 rcctl(8) 管理服务。它支持本地 Unix 套接字连接、TCP 网络、TLS、通过 pg_hba.conf 实现的细粒度访问控制,以及灵活的认证方式。

安装

安装 PostgreSQL 服务器软件包:

# pkg_add postgresql-server

此命令会提供 PostgreSQL 守护进程、客户端工具(psqlcreatedb 等)以及默认配置文件。

安装的版本通常为较新的稳定主发行版(如 PostgreSQL 15 或 16)。

初始化

创建 PostgreSQL 数据目录并初始化数据库集群:

# su - _postgresql
$ initdb -D /var/postgresql/data -U postgres -A md5
  • -D /var/postgresql/data 指定数据库目录

  • -U postgres 创建初始超级用户

  • -A md5 配置密码认证

确保属主与权限正确:

启用服务

启用并启动 PostgreSQL 守护进程:

守护进程以 _postgresql 身份运行,默认监听 Unix 套接字:

配置

主配置文件为:

常用调整:

修改后重启服务:

访问控制

客户端认证由以下文件管理:

默认条目只允许本地套接字连接。要通过 TCP 启用基于密码的认证:

重新加载配置:

创建用户与数据库

切换到 _postgresql 用户:

创建用户与数据库:

连接数据库:

列出数据库:

列出用户:

TLS 支持(可选)

  1. 生成服务器密钥与证书:

  1. 更新 postgresql.conf

  1. 重启 PostgreSQL:

  1. 客户端必须以 sslmode=require 连接:

远程访问(可选)

要允许 TCP 连接:

  1. postgresql.conf 中:

  1. pg_hba.conf 中:

  1. pf.conf 中放行 5432 端口:

  1. 重启服务:

日志与诊断

若启用 logging_collector,日志会写入 /var/postgresql/data/log/

查看日志:

查看服务器与连接状态:

检查配置值:

最后更新于