news 2026/3/29 20:40:51

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/3/28 9:57:22

EmotiVoice推理速度优化经验分享(附代码)

EmotiVoice推理速度优化经验分享&#xff08;附代码&#xff09; 在语音合成技术正快速渗透进智能助手、有声读物、虚拟偶像乃至游戏对话系统的今天&#xff0c;用户对“像人一样说话”的期待越来越高。EmotiVoice作为一款支持多情感表达和零样本声音克隆的开源TTS引擎&#xf…

作者头像 李华
网站建设 2026/3/25 12:03:36

EmotiVoice在远程办公会议中的辅助应用设想

EmotiVoice在远程办公会议中的辅助应用设想 在一场跨时区的线上项目复盘会中&#xff0c;AI助手用CEO熟悉的声音、带着欣慰的语气播报&#xff1a;“本次迭代提前完成&#xff0c;客户反馈非常积极。”——这句简短总结不仅传递了信息&#xff0c;更唤起了团队成员的情感共鸣。…

作者头像 李华
网站建设 2026/3/29 6:01:07

32、网络攻击模拟与防御脚本解析

网络攻击模拟与防御脚本解析 1. 攻击模拟与欺骗 1.1 使用 snortspoof.pl 脚本发送攻击 可以使用 snortspoof.pl 脚本来发送由 exploit.rules 文件描述的攻击。以下是使用 tcpdump 捕获数据包的示例命令: [spoofer]# tcpdump -i eth1 -l -nn -s 0 -X -c 1 port 6…

作者头像 李华
网站建设 2026/3/24 9:04:58

EmotiVoice被多家AI公司采用的背后原因分析

EmotiVoice为何被多家AI公司争相采用&#xff1f; 在虚拟主播实时回应弹幕、游戏NPC因剧情转折怒吼咆哮、AI心理助手用温柔语调安抚用户情绪的今天&#xff0c;语音合成早已不再是“把文字读出来”那么简单。用户期待的是有温度、有性格、能共情的声音交互体验——而正是这种需…

作者头像 李华
网站建设 2026/3/27 6:20:58

EmotiVoice技术深度解析:为何它成为情感化语音合成的新标杆?

EmotiVoice技术深度解析&#xff1a;为何它成为情感化语音合成的新标杆&#xff1f; 在虚拟偶像直播中突然笑出眼泪&#xff0c;或是在AI客服电话里听出一丝“不耐烦”——这些曾经只属于人类的微妙情绪表达&#xff0c;如今正被一种名为 EmotiVoice 的开源语音合成系统悄然实现…

作者头像 李华
网站建设 2026/3/29 1:35:19

高版本springboot lombok失效解决方案

1.idea问题 POM <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.…

作者头像 李华