You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行php artisan migrate时PostgreSQL vector扩展缺失问题求助

解决Laravel迁移时PostgreSQL vector扩展缺失的问题

这个错误的核心原因是你的PostgreSQL 12服务器未安装vector扩展(即pgvector,一款用于向量存储的第三方PostgreSQL扩展,并非原生自带),导致执行CREATE EXTENSION IF NOT EXISTS vector时找不到对应的控制文件。

以下是具体解决步骤:

1. 安装pgvector扩展

根据你的操作系统选择对应安装方式:

Debian/Ubuntu 系统

  • 先添加PostgreSQL官方源(若未添加):
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    sudo apt update
    
  • 安装适配PostgreSQL 12的pgvector:
    sudo apt install postgresql-12-pgvector
    

CentOS/RHEL 系统

  • 添加PostgreSQL官方源:
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %rhel)-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
  • 安装适配PostgreSQL 12的pgvector:
    sudo yum install postgresql12-pgvector
    

2. 重启PostgreSQL服务

安装完成后重启服务,确保扩展加载生效:

# Debian/Ubuntu
sudo systemctl restart postgresql

# CentOS/RHEL
sudo systemctl restart postgresql-12

3. 验证并重新执行迁移

  • 进入PostgreSQL命令行,执行以下SQL验证扩展是否安装成功:
    CREATE EXTENSION IF NOT EXISTS vector;
    
  • 若无报错,回到Laravel项目目录重新运行迁移:
    php artisan migrate
    

额外说明(Docker部署场景)

如果使用Docker运行PostgreSQL,需改用包含pgvector的镜像,例如:

docker run -d -p 5432:5432 ankane/pgvector:12

或在自定义Dockerfile中添加安装pgvector的步骤。

内容的提问来源于stack exchange,提问作者Han Hsu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 11:07:13