安装 PG17、 pgvector/PGroonga扩展

以 Ubuntu 为基础,最快捷地安装带有 pgvector(向量检索)和PGroonga (全文检索) 扩展的 PostgreSQL,最推荐的方式是直接通过 APT 仓库安装编译好的二进制包,而不是从源码手动编译。

1. 首先添加 PostgreSQL 官方 APT 仓库,以确保能获取到 17 版本。

# 添加官方仓库密钥
sudo apt update
sudo apt install -y curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc

# 添加存储库列表
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

2. 安装 PG17 及 pgvector 扩展

pgvector 已经进入官方仓库,可以直接通过 apt 安装,这是最简单的方法。

# 直接安装预编译包
sudo apt install -y postgresql-17 postgresql-17-pgvector

验证包是否正确: > 你可以运行 apt list –installed | grep pgvector,看到 postgresql-17-pgvector 即表示免编译版本安装成功。
注:如果找不到包,也可以通过源码编译:git clone –branch v0.8.0 https://github.com/pgvector/pgvector.git && cd pgvector && make && sudo make install。

3. 安装PGroonga

3.1. 进入临时目录

sudo mkdir -p /ky/kmatrix/tmp && cd /ky/kmatrix/tmp

3.2. 下载核心组件 (Groonga 16.0.0) 和 PG17 插件 (PGroonga 4.0.5)

sudo wget https://packages.groonga.org/ubuntu/pool/jammy/universe/g/groonga/libgroonga0_16.0.0-1_amd64.deb
sudo wget https://packages.groonga.org/ubuntu/pool/jammy/universe/g/groonga/groonga-bin_16.0.0-1_amd64.deb
sudo wget https://packages.groonga.org/ubuntu/pool/jammy/universe/p/postgresql-17-pgdg-pgroonga/postgresql-17-pgdg-pgroonga_4.0.5-1_amd64.deb

3.3. 强制安装这三个本地包

sudo dpkg -i *.deb

3.4. 修复可能缺失的依赖 (如 mecab 等,这一步会自动从镜像源补齐)

sudo apt install -f -y

4. 启用并连接postgres

安装完 PostgreSQL 后,默认会创建一个名为 postgres 的操作系统用户和同名的数据库超级用户。

由于默认配置使用的是 Peer Authentication(对等身份验证),你无需密码即可从本地终端以 postgres 用户身份登录。

以下是几种常用的登录方式:

  1. 最直接的登录方式(进入交互终端)
    这是在 Ubuntu 终端中最常用的命令,直接切换身份并打开 SQL 命令行:
    sudo -u postgres psql
    sudo -u postgres:以系统用户 postgres 的身份运行。
    psql:进入 PostgreSQL 的交互式终端。
  2. 为 postgres 用户设置密码
    为了方便以后从图形化界面(如 Navicat, DBeaver)或代码中连接,建议先设置一个密码:
    进入终端:
    sudo -u postgres psql
    执行 SQL:
    ALTER USER postgres WITH PASSWORD '你的新密码';
    退出:\q
  3. 创建kmatrix用户和数据库
    sudo -u postgres psql
    #创建用户 kmatrix,并设置密码
    CREATE USER kmatrix WITH PASSWORD '你的新密码';
    #创建数据库 kmatrix,并指定所有者为该用户
    CREATE DATABASE kmatrix OWNER kmatrix;
    #授予该用户对数据库的所有权限(可选,通常 OWNER 已经足够)
    GRANT ALL PRIVILEGES ON DATABASE kmatrix TO kmatrix;
    ALTER USER kmatrix WITH SUPERUSER;
  4. 如果需要从远程连接(如使用 Navicat)
    默认情况下,PostgreSQL 只允许本地连接。如果你需要远程登录,需要修改两个配置文件:
    A. 修改监听地址
    vi /etc/postgresql/17/main/postgresql.conf
    找到 #listen_addresses = 'localhost',改为:
    Plaintext
    listen_addresses = '*'
    B. 修改访问控制策略
    sudo nano /etc/postgresql/17/main/pg_hba.conf
    在文件末尾添加一行,允许所有 IP 访问(生产环境建议指定具体 IP):
    host    all             all             0.0.0.0/0               scram-sha-256
    C. 重启服务
    sudo systemctl restart postgresql

附:在 Ubuntu 下搭建 Git 环境

搭建 Git 环境不仅是安装,更重要的是配置身份信息和 SSH 密钥,以便安全地与 GitHub/GitLab 交互。

  1. 安装 Git

    sudo apt update
    sudo apt install git -y
  2. 配置全局身份
    这是为了确保你的提交(Commit)带有正确的姓名和邮箱:

    git config --global user.name "你的名字"
    git config --global user.email "你的邮箱@example.com"
    #推荐设置:让 Git 终端显示彩色
    git config --global color.ui auto
  3. 配置 SSH 密钥(免密推送到远程仓库)
    这是目前最安全、主流的连接方式:
    生成密钥对:

    ssh-keygen -t ed25519 -C "你的邮箱@example.com"
    (一路回车即可,无需设置密码)

    获取公钥内容:

    cat ~/.ssh/id_ed25519.pub

    添加到托管平台:将输出的这一长串字符串复制,粘贴到 GitHub 的 Settings -> SSH and GPG keys -> New SSH key 中。

  4. 验证连接

    ssh -T git@github.com

    如果看到 “Hi [username]! You’ve successfully authenticated…”,说明环境搭好了。

总结
PG17: 使用 postgresql-17-pgvector 极速安装,pgjieba 需手动关联 PG17 路径编译。

Git: 核心在于 apt install + ssh-keygen。

作者:admin  创建时间:2026-03-10 09:27
最后编辑:admin  更新时间:2026-03-27 00:58