news 2026/9/2 6:33:32

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进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 0:20:59

结合大模型与EmotiVoice:实现上下文感知的情感语音输出

结合大模型与EmotiVoice&#xff1a;实现上下文感知的情感语音输出 在今天的智能交互场景中&#xff0c;我们早已不满足于一个能“说话”的AI——它需要知道什么时候该温柔安慰&#xff0c;什么时候该兴奋祝贺&#xff0c;甚至能在沉默之后轻声问一句&#xff1a;“你还好吗&am…

作者头像 李华
网站建设 2026/9/2 6:12:44

并发系列(一):深入理解信号量(含 Redis 分布式信号量)

文章目录并发系列&#xff08;一&#xff09;&#xff1a;深入理解信号量&#xff08;含 Redis 分布式信号量&#xff09;一、信号量是什么&#xff1f;二、信号量的典型使用场景1. 控制并发访问数量2. 限制资源&#xff08;连接、对象&#xff09;的最大使用数量3. 实现简单对…

作者头像 李华
网站建设 2026/9/2 16:21:59

局域网文件传输工具:在同一 Wi-Fi 下轻松共享文件

在数字化办公与生活日益普及的今天&#xff0c;文件共享已成为日常必需。然而&#xff0c;传统的数据线传输受限设备接口&#xff0c;蓝牙传输速度缓慢&#xff0c;云端共享又涉及隐私与网络依赖问题。正是在这样的背景下&#xff0c;局域网文件传输工具应运而生&#xff0c;为…

作者头像 李华
网站建设 2026/9/2 19:21:53

EmotiVoice语音合成在语音占卜APP中的神秘感塑造

EmotiVoice语音合成在语音占卜APP中的神秘感塑造 在深夜的手机屏幕前&#xff0c;用户轻声提问&#xff1a;“我今年的感情会有转机吗&#xff1f;” 下一秒&#xff0c;一段低沉、略带沙哑又仿佛从远古洞穴中传出的声音缓缓响起&#xff1a;“星轨偏移&#xff0c;旧缘将动………

作者头像 李华
网站建设 2026/9/2 6:19:28

运动耳机怎么选:十款运动耳机对比,让跑步听感更爽

运动中最让人困扰的就是耳机不贴合、耳朵累、通话或音乐不够清晰。我自己每天跑步、骑行、去健身房&#xff0c;也用过不少耳机&#xff0c;通过使用总结出哪些设计和功能真的实用&#xff0c;这篇文章就是我整理出来的真实分享。&#xff08;在推荐之前&#xff0c;可以跟大家…

作者头像 李华
网站建设 2026/9/2 11:57:32

17、使用psad进行主动响应

使用psad进行主动响应 在网络安全领域,主动响应机制对于抵御各类攻击至关重要。本文将深入探讨使用psad进行主动响应的相关内容,包括其原理、特性、配置以及实际应用示例。 1. 阻止特定攻击的方法 要真正阻止像Witty蠕虫这样的攻击,需要一个能够对数据包内容进行精细决策…

作者头像 李华