下面给出在 PostgreSQL （PostgreSQL）在 Debian 12 (Bookworm) 上安装及基本配置的**一步步教程**

---

## 前置条件

1. 已有一台 Debian 12 系统（可以是物理机、VM、或者云上实例）。
    
2. 使用拥有 `sudo` 权限的用户登录。
    
3. 网络可访问外部软件源。
    

---

## 安装过程

### 1. 更新系统软件包

```bash
sudo apt update
sudo apt upgrade -y
```

这是一个好习惯，确保系统软件包为最新。

### 2. 安装 PostgreSQL

有两种方式：使用 Debian 默认仓库或使用官方 PostgreSQL 仓库。

#### 方法 A：使用 Debian 默认仓库

```bash
sudo apt install -y postgresql postgresql-contrib
```

这会安装 PostgreSQL 及一些附加工具。
安装后，服务一般会自动启动。可用 `sudo systemctl status postgresql` 查看。

#### 方法 B：使用 PostgreSQL 官方 PGDG 仓库（推荐如果你想安装特定版本）

1. 安装 `postgresql-common`（生成脚本等）：
    
    ```bash
    sudo apt install -y postgresql-common
    ```
    

    
2. 运行脚本将 PGDG 仓库添加到系统：
    
    ```bash
    sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
    ```
    
    或者手动：导入签名密钥、创建 `/etc/apt/sources.list.d/pgdg.list`。
    
3. 更新软件包列表：
    
    ```bash
    sudo apt update
    ```
    
4. 安装你想的版本，比如：
    
    ```bash
    sudo apt install -y postgresql-18
    ```
    
    （版本号根据仓库显示为止）
    

---

### 3. 检查服务状态 & 设置开机启动

```bash
sudo systemctl status postgresql
sudo systemctl enable postgresql
```

确认服务已运行并且开机启动。

---

### 4. 切换用户、设置 postgres 用户密码

安装完成后，系统默认创建一个系统用户 `postgres`，以及 PostgreSQL 内部用户 `postgres`。你可以切换并为它设密码：

```bash
sudo -i -u postgres
psql
\password postgres
\q
exit
```

这样为超级用户设置了密码。

---

### 5. 创建数据库和用户（基本操作）

切换为 `postgres` 用户后，在 psql 中执行：

```sql
CREATE DATABASE mydb;
CREATE USER myuser WITH PASSWORD 'strongpassword';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
```

然后退出 `\q`。
你可以用以下方式连接：

```bash
psql -d mydb -U myuser -h localhost
```

---

### 6. 配置远程访问（如果你希望其他机器也能访问数据库）

默认 PostgreSQL 只监听本地 localhost。若要允许远程连接，需要两步：

1. 编辑 `postgresql.conf`，修改 listen_addresses ：
    
    ```bash
    sudo nano /etc/postgresql/12/main/postgresql.conf
    # 找到
    listen_addresses = 'localhost'
    # 改为
    listen_addresses = '*'
    ```
    
    然后保存。
    
2. 编辑 `pg_hba.conf`，允许特定 IP 或网段连接：
    
    ```bash
    sudo nano /etc/postgresql/12/main/pg_hba.conf
    # 添加一行，例如：
    host    all    all    192.168.100.0/24    md5
    ```
    
    然后重启服务：
    
    ```bash
    sudo systemctl restart postgresql
    ```
    

> **警告**：允许远程访问时要注意安全（防火墙、强密码、只限可信IP）。

---

### 7. （可选）安装 pgAdmin4 图形管理工具

如果你更倾向图形界面管理数据库，可以考虑安装 pgAdmin 4。 ([HowtoForge](https://www.howtoforge.com/how-to-install-postgresql-and-pgadmin-tool-on-debian-12/?utm_source=chatgpt.com "How to Install PostgreSQL and pgAdmin Tool on Debian 12"))  
大致步骤：添加 pgAdmin 仓库、安装 `pgadmin4-web`、运行配置脚本、然后通过浏览器访问管理界面。

---

### 8. 卸载或清理（如果需要）

如果你想移除 PostgreSQL，建议使用 `purge` 而不仅仅 `remove`，以清理配置文件。有人经验如下：

> “使用 apt purge —purge … 然后 rm -rf 残余目录” ([Reddit](https://www.reddit.com/r/debian/comments/16cn3zx/how_to_properly_install_postgresql_remove_it_and/?utm_source=chatgpt.com "how to properly install postgresql, remove it, and install it again?"))  
> 但在你的场景里（你打算长期使用 PostgreSQL），通常不需要卸载。


---
