news 2026/2/25 15:56:39

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/2/24 10:12:06

精度论文:【Class Attention Transfer Based Knowledge Distillation】

基于类注意力转移的知识蒸馏 Class Attention Transfer Based Knowledge Distillation 摘要 以往的知识蒸馏方法在模型压缩任务中展现了卓越的性能&#xff0c;然而这些方法难以解释所转移的知识如何提升学生网络的性能。本研究致力于提出一种兼具高可解释性与强大性能的知识蒸…

作者头像 李华
网站建设 2026/2/18 17:09:28

邮件防泄露再升级!CACTER EDLP大模型破解隐秘泄露,防护更精准

722万罚单敲响警钟&#xff01;近期&#xff0c;国家金融监督管理总局温州监管分局公布重磅罚单——4家金融机构因信息泄露、数据管理违规被合计重罚。而罚单的背后&#xff0c;藏着企业最棘手的邮件风险&#xff1a;员工用“工作资料”作主题、空正文加密附件发往个人邮箱——…

作者头像 李华
网站建设 2026/2/23 9:38:56

13、深入了解psad:端口扫描攻击检测器与可疑流量检测

深入了解psad:端口扫描攻击检测器与可疑流量检测 1. psad配置文件详解 psad(Port Scan Attack Detector)是一款用于检测端口扫描攻击的工具,在Linux系统上结合iptables使用,能有效识别网络中的可疑流量。以下是psad几个关键配置文件的详细介绍: 1.1 FW_MSG_SEARCH变量…

作者头像 李华
网站建设 2026/2/25 12:21:50

affine+docker+postgresql+备份数据库

进入容器内部备份数据库 docker exec -it postgres /bin/bashpsql -U affinedt备份 docker exec -it postgres /bin/bashpg_dump -U affine -d affine > affine_backup_.sql还原 psql -U postgres -d affine < affine_backup_.sql文件拷贝退出到宿主机器docker cp postgr…

作者头像 李华
网站建设 2026/2/23 12:34:12

EmotiVoice语音风格迁移功能探索:跨语境情感复现

EmotiVoice语音风格迁移功能探索&#xff1a;跨语境情感复现 在虚拟主播直播中突然“哽咽落泪”&#xff0c;在客服对话里听出一丝“无奈的安抚”&#xff0c;或是让一段冰冷的文字朗读瞬间充满“喜悦的节奏”——这些曾经只属于人类表达的细腻情绪&#xff0c;正被一种名为 Em…

作者头像 李华
网站建设 2026/2/23 14:08:12

FDM 3D打印表面粗糙度降至2μm?这一新技术来了解一下!

FDM 3D打印技术在消费端和工业端都有极为庞大的应用空间&#xff0c;但其表面粗糙、层间附着力以及明显的层纹为专业应用带来了很多问题。3D打印技术参考注意到&#xff0c;一家名为Hyperflow 4D&#xff08;官网&#xff1a;https://hyperflow4d.com&#xff09;的公司开发出了…

作者头像 李华