[{"data":1,"prerenderedAt":62},["ShallowReactive",2],{"article-114":3},{"code":4,"msg":5,"data":6,"count":14},200,"查询成功",{"id":7,"title":8,"keywords":9,"description":10,"category_id":11,"content":12,"body_html":13,"thumb_up":14,"clicks":15,"sort":14,"remark":13,"status":11,"is_open":11,"is_deleted":14,"is_top":11,"is_recommend":11,"create_time":16,"update_time":17,"image_id":18,"url":13,"member_id":14,"cate_name":19,"prev":20,"next":23,"tags":26,"words":33,"read_time":34,"comments":14,"cover":35,"relevant":36},114,"PostgreSQL向量扩展实战：在宝塔面板中构建AI应用基础环境","PostgreSQL,Linux,","随着人工智能技术的快速发展，向量数据库在推荐系统、自然语言处理和计算机视觉等领域的应用日益广泛。PostgreSQL作为一款功能强大的开源关系型数据库，通过vector扩展可以支持高效的向量相似度搜索，为AI应用提供坚实的数据基础。本文将详细介绍如何在Linux宝塔面板中安装PostgreSQL并添加vector扩展，帮助开发者快速搭建支持向量运算的数据库环境。",1,"## 引言\n\n随着人工智能技术的快速发展，向量数据库在推荐系统、自然语言处理和计算机视觉等领域的应用日益广泛。PostgreSQL作为一款功能强大的开源关系型数据库，通过vector扩展可以支持高效的向量相似度搜索，为AI应用提供坚实的数据基础。本文将详细介绍如何在Linux宝塔面板中安装PostgreSQL并添加vector扩展，帮助开发者快速搭建支持向量运算的数据库环境。\n\n## 为什么选择PostgreSQL+vector扩展？\n\nPostgreSQL的vector扩展是一个开源项目，它为PostgreSQL数据库添加了向量数据类型和相似度搜索功能。相比于专用的向量数据库，PostgreSQL+vector扩展具有以下优势：\n\n- **无缝集成**：可以与现有的PostgreSQL生态系统完美结合\n- **降低成本**：无需维护多套数据库系统\n- **功能丰富**：同时拥有关系型数据库和向量数据库的能力\n- **扩展性强**：支持各种索引和查询优化技术\n\n## 安装PostgreSQL\n\n在宝塔面板中安装PostgreSQL非常简便，有两种主要方法可供选择：\n\n### 方法一：通过宝塔应用商店安装（推荐）\n\n1. 登录宝塔面板，进入左侧菜单的「软件商店」\n2. 在搜索框中输入\"PostgreSQL\"，选择官方版本（推荐15或16版本）\n3. 点击「安装」按钮，等待安装完成\n4. 安装完成后，记录重要信息：\n   - 安装路径：`\u002Fwww\u002Fserver\u002Fpgsql`\n   - 默认端口：`5432`\n   - 超级用户：`postgres`\n   - 管理员密码（安装过程中设置）\n\n### 方法二：手动安装（适合高级用户）\n\n如果您需要更精细的控制，可以选择手动安装：\n\n```bash\n# 添加PostgreSQL官方源\nsudo sh -c 'echo \"deb http:\u002F\u002Fapt.postgresql.org\u002Fpub\u002Frepos\u002Fapt $(lsb_release -cs)-pgdg main\" > \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fpgdg.list'\nwget -qO- https:\u002F\u002Fwww.postgresql.org\u002Fmedia\u002Fkeys\u002FACCC4CF8.asc | sudo tee \u002Fetc\u002Fapt\u002Ftrusted.gpg.d\u002Fpgdg.asc &>\u002Fdev\u002Fnull\nsudo apt update\n\n# 安装PostgreSQL 16\nsudo apt install postgresql-16 -y\n```\n\n## 安装vector扩展\n\nvector扩展需要从源码编译安装，以下是详细步骤：\n\n### 步骤1：安装编译依赖\n\n```bash\nsudo apt update\nsudo apt install -y build-essential clang make cmake libreadline-dev zlib1g-dev\n```\n\n### 步骤2：下载并编译vector扩展\n\n```bash\n# 下载vector扩展源码（选择稳定版本）\ncd \u002Ftmp\ngit clone --branch v0.6.1 https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector.git\ncd pgvector\n\n# 配置宝塔PostgreSQL环境路径\nexport PATH=\u002Fwww\u002Fserver\u002Fpgsql\u002Fbin:$PATH\n\n# 编译扩展\nmake PG_CONFIG=\u002Fwww\u002Fserver\u002Fpgsql\u002Fbin\u002Fpg_config\n\n# 安装扩展\nsudo make install PG_CONFIG=\u002Fwww\u002Fserver\u002Fpgsql\u002Fbin\u002Fpg_config\n```\n\n## 启用vector扩展\n\n安装完成后，需要在目标数据库中启用vector扩展：\n\n### 方法一：通过SQL命令启用\n\n1. 登录宝塔面板，进入「数据库」→「PostgreSQL」\n2. 选择「phpPgAdmin」或使用命令行连接：\n   ```bash\n   sudo -u postgres psql\n   ```\n3. 在PostgreSQL终端中执行以下SQL命令：\n   ```sql\n   -- 切换到目标数据库\n   \\c your_database_name\n   \n   -- 创建vector扩展\n   CREATE EXTENSION IF NOT EXISTS vector;\n   \n   -- 验证安装结果\n   SELECT * FROM pg_extension WHERE extname = 'vector';\n   ```\n\n### 方法二：通过宝塔面板操作\n\n1. 在宝塔面板中创建或选择目标PostgreSQL数据库\n2. 进入该数据库的「SQL命令行」工具\n3. 直接执行：\n   ```sql\n   CREATE EXTENSION vector;\n   ```\n\n## 验证vector扩展功能\n\n安装完成后，可以通过以下步骤验证vector扩展是否正常工作：\n\n```sql\n-- 创建测试表，包含向量字段\nCREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));\n\n-- 插入测试数据\nINSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]');\n\n-- 执行向量相似度查询（\u003C->表示欧几里得距离）\nSELECT * FROM items ORDER BY embedding \u003C-> '[3,1,2]' LIMIT 5;\n```\n\n如果查询返回结果，表明vector扩展已成功安装并可以正常使用。\n\n## 常见问题与解决方案\n\n在安装和使用过程中，可能会遇到以下问题：\n\n### 问题1：编译错误\n\n**解决方法**：\n确保正确配置了PostgreSQL环境路径：\n```bash\nexport PATH=\u002Fwww\u002Fserver\u002Fpgsql\u002Fbin:$PATH\n```\n确认pg_config路径正确：\n```bash\nwhich pg_config\n# 应输出：\u002Fwww\u002Fserver\u002Fpgsql\u002Fbin\u002Fpg_config\n```\n\n### 问题2：扩展未找到\n\n**解决方法**：\n检查扩展文件是否安装到正确目录：\n```bash\nls \u002Fwww\u002Fserver\u002Fpgsql\u002Fshare\u002Fextension\u002Fvector*\n# 应看到vector.control和vector--*.sql文件\n```\n\n### 问题3：权限问题\n\n**解决方法**：\n确保使用postgres用户执行SQL命令：\n```bash\nsudo -u postgres psql -d your_database\n```\n\n## 注意事项\n\n- vector扩展要求PostgreSQL版本≥11，推荐使用PostgreSQL 15\u002F16以获得最佳兼容性\n- 安装完成后，建议重启PostgreSQL服务以确保扩展正常加载\n- 在生产环境中使用前，请进行充分的测试和性能优化\n- 对于大规模向量数据，建议创建适当的索引以提高查询性能\n\n## 总结\n\n通过本文的详细指南，您已经学会了如何在Linux宝塔面板中安装PostgreSQL并配置vector扩展。这为构建基于向量数据的AI应用提供了坚实的基础，无论是推荐系统、相似图片搜索还是自然语言处理任务，PostgreSQL+vector扩展都能满足您的需求。随着AI技术的不断发展，掌握向量数据库的使用将成为开发者的重要技能。希望本文能帮助您顺利搭建向量数据库环境，为您的AI项目提供有力支持！\n        ",null,0,51,"2025-09-13 15:42:11","2025-09-13 15:42:12",48,"技术杂谈",{"id":21,"title":22},113,"WSL与Linux子系统：在Windows上打造高效开发环境",{"id":24,"title":25},115,"PHP与FFmpeg集成实战：打造高效多媒体处理系统",[27,30],{"id":28,"name":29},95,"PostgreSQL",{"id":31,"name":32},39,"Linux",2419,6,"https:\u002F\u002Ftp.myong.top\u002Fstorage\u002Farticle\u002F1a764c0c-0f60-4957-840d-5277da09cef3.jpg",[37,42,47,52,57],{"id":38,"title":39,"create_time":40,"description":41},89,"获取腾讯“邮我”的链接","2020-06-16 10:47:34","腾讯QQ邮箱提供了“邮我”组件，可以放在自己的网站上，让别人点击提供的图片或者链接就可以发Email过来，该文章分享的是如何获取到其中的链接。",{"id":43,"title":44,"create_time":45,"description":46},98,"本站点JavaScript相关特效使用方法整理","2021-04-22 18:38:53","本站的页面用的特效有，粒子线canvas-nest，动态彩带canvas-ribbon，鼠标点击特效以及音乐播放器，本文整理了特效的使用方法",{"id":48,"title":49,"create_time":50,"description":51},106,"阿里开源数据同步组件Canal","2023-10-26 22:43:32","最开始听说canal是从mysql与redis双写一致性解决方案，当时并没有太在意，最近由于需要实时同步数据，如果在代码对insert\u002Fupdate\u002Fdelete做拦截也可以实现，但对代码侵入性太大了，并且后期更改时容易有遗漏，风险太高，这时就又想到了canal，canal的好处在于对业务代码没有侵入，因为是基于监听binlog日志去进行同步数据，这个真的是太爽爽爽了。并且实时性也能做到准实时，这也是canal为什么这么流行，因为确实很多企业会用来做数据同步的方案。",{"id":53,"title":54,"create_time":55,"description":56},62,"内网使用Composer","2019-10-08 23:29:23","最近本地部署Laravel开发环境时，遇到公司的内网无法正常使用Composer下载Laravel，后来发现是要设置公司内网代理",{"id":58,"title":59,"create_time":60,"description":61},75,"Hexo-SEO优化开启静态文件压缩功能","2019-12-30 21:34:32","个人对HEXO搭建博客的SEO优化方案进行总结，从本地的文章结构到定期推送，再到SEO关键词优化做一个全面体系的汇总，如果有更好的方法可以私聊我。\n\n",1783431653007]