news 2025/12/26 16:22:15

PostgreSQL 16 + pgvector 完整安装和内网访问指南(Ubuntu 20.04)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PostgreSQL 16 + pgvector 完整安装和内网访问指南(Ubuntu 20.04)

1. 更新系统并安装必要工具

sudoaptupdatesudoaptinstall-ywgetca-certificates gnupg lsb-release

2. 导入 PostgreSQL archive 仓库 GPG 密钥

wget-qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudogpg --dearmor -o /usr/share/keyrings/postgresql-archive.gpg

3. 添加 PostgreSQL 16 archive 仓库

echo"deb [signed-by=/usr/share/keyrings/postgresql-archive.gpg] https://apt-archive.postgresql.org/pub/repos/apt focal-pgdg-archive main"|sudotee/etc/apt/sources.list.d/pgdg-archive.list

注意:如果之前添加过http://apt.postgresql.org/pub/repos/apt focal-pgdg的仓库,需要删除:

sudorm/etc/apt/sources.list.d/pgdg.list

4. 更新软件源索引

sudoaptupdate

此时应该看到focal-pgdg-archive成功更新。


5. 安装 PostgreSQL 16 与 pgvector

sudoaptinstall-y postgresql-16 postgresql-client-16 postgresql-contrib-16sudoaptinstall-y postgresql-16-pgvector

6. 启动 PostgreSQL 并设置开机自启

sudosystemctl start postgresqlsudosystemctlenablepostgresql

7. 切换到 PostgreSQL 系统用户并进入 psql

sudo-i -u postgres psql

提示符应为:

postgres=#

8. 设置超级用户密码

ALTERUSERpostgres PASSWORD'root';
  • 密码root仅为示例,生产环境请使用安全密码

9. 配置允许内网访问

编辑 pg_hba.conf:

sudovim/etc/postgresql/16/main/pg_hba.conf

在文件末尾追加(假设内网段是 10.0.0.0/8):

# Allow internal network access host all all 10.0.0.0/8 scram-sha-256

如果只想允许单台机器,例如 10.0.4.10:

host all all 10.0.4.10/32 scram-sha-256

10. 修改监听地址

编辑 postgresql.conf:

sudovi/etc/postgresql/16/main/postgresql.conf

找到:

#listen_addresses = 'localhost'

改为:

listen_addresses = '*'

或只监听内网 IP:

listen_addresses = '10.0.4.121'

11. 重启 PostgreSQL

sudosystemctl restart postgresql

12. 验证服务监听

ss -lntp|grep5432

应看到:

0.0.0.0:5432 [::]:5432

说明 PostgreSQL 已对内网开放。


13. 验证 pgvector 插件

CREATEEXTENSIONIFNOTEXISTSvector;SELECTextname,extversionFROMpg_extensionWHEREextname='vector';

输出示例:

extname | extversion ---------+------------ vector | 0.8.0

14. 创建向量存储示例表

CREATETABLEembedding_store(id bigserialPRIMARYKEY,biz_idvarchar(64),contenttextNOTNULL,embedding vector(1536)NOTNULL,metadata jsonb,created_at timestamptzDEFAULTnow());
  • 1536 是 OpenAI Embedding 默认维度,可按需修改

15. 插入测试数据

INSERTINTOembedding_store(biz_id,content,embedding,metadata)VALUES('test-1','pgvector test record',array_fill(0.01,ARRAY[1536])::vector,'{"source": "manual_test"}');

16. 向量相似度查询示例

SELECTid,biz_id,content,embedding<=>array_fill(0.01,ARRAY[1536])::vectorASdistanceFROMembedding_storeORDERBYdistanceLIMIT3;

17. 创建向量索引(HNSW,提升大数据性能)

CREATEINDEXembedding_store_hnsw_idxONembedding_storeUSINGhnsw(embedding vector_l2_ops)WITH(m=16,ef_construction=200);-- 查询前设置搜索参数SEThnsw.ef_search=40;

18. 内网访问测试

从内网其他机器执行:

psql -h10.0.4.10 -U postgres -d postgres -W

输入密码root,即可登录。


19. 生产环境安全建议

  1. 不要用 postgres 做业务操作
    • 创建专用业务用户:
CREATEUSERmyappWITHPASSWORD'MyAppPass123';CREATEDATABASEmyappdb OWNER myapp;
  1. 防火墙控制内网访问
sudoufw allow from10.0.0.0/8 to any port5432sudoufw reload
  1. 不要直接暴露 0.0.0.0 到公网
    • 仅内网访问或 VPN

以上就是Ubuntu 20.04 + PostgreSQL 16 + pgvector + 内网访问 + 密码设置 + 向量表 + HNSW 索引的完整流程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/17 12:19:47

dify v1.11.1 离线安装本地插件怎么报错了?!

Dify v1.11.1离线插件安装失败&#xff1f; 最近Dify v1.11.1版本发布后&#xff0c;不少开发者反馈离线插件安装频频碰壁——界面提示"安装失败"却无具体原因&#xff0c;进度条卡在90%一动不动&#xff0c;后台日志疯狂刷屏"依赖下载超时"。这些问题看似…

作者头像 李华
网站建设 2025/12/17 12:18:51

EmotiVoice实战指南:从文本到富有情感的语音只需三步

EmotiVoice实战指南&#xff1a;从文本到富有情感的语音只需三步 在智能语音助手越来越“懂人心”的今天&#xff0c;用户早已不满足于机械地播报天气或导航路线。我们期待的是一个能共情、会安慰、甚至带点小情绪的对话伙伴——这正是情感化语音合成&#xff08;Emotional TTS…

作者头像 李华
网站建设 2025/12/17 12:16:15

灵活用工平台注册,亲测合规要点

灵活用工平台行业分析&#xff1a;天语灵活用工平台的合规要点行业痛点分析在当前的灵活用工平台领域&#xff0c;技术挑战主要体现在数据安全、算薪准确性和合规性等方面。随着灵活用工需求的增加&#xff0c;平台需要处理大量的用户数据和薪资计算&#xff0c;这对系统的技术…

作者头像 李华
网站建设 2025/12/17 12:16:03

EmotiVoice能否用于盲文转换辅助系统?触觉听觉协同设计

EmotiVoice能否用于盲文转换辅助系统&#xff1f;触觉听觉协同设计 在视障人群的信息获取世界里&#xff0c;声音和触觉是两根最重要的支柱。传统的盲文阅读依赖指尖的触觉辨识&#xff0c;学习曲线陡峭、信息更新缓慢&#xff1b;而纯语音播报虽然便捷&#xff0c;却难以传达细…

作者头像 李华
网站建设 2025/12/17 12:14:30

LobeChat春节营销主题内容生成

LobeChat&#xff1a;构建春节智能营销的AI内容引擎 在年味渐浓的节日前夕&#xff0c;品牌运营团队往往面临一个共同挑战&#xff1a;如何在短时间内产出大量富有节日氛围、风格统一且创意十足的文案&#xff1f;从朋友圈推送、商品标题到客户祝福语&#xff0c;传统人工创作模…

作者头像 李华