PostgreSQL向量数据插件--pgvector安装(附PostgreSQL安装)


本文为本人在安装pgvector中踩过的坑,已找到解决方法,现向大家分享。

一、版本

  1. pgvector:0.5.1
  2. PostgreSQL数据库:14.0
  3. 操作系统:Ubuntu18.04

二、数据库安装

因为在此之前安装过PostgreSQL8.4.1,而pgvector只只支持11.0及以后的版本,因此安装PostgreSQL14.0

1. 在官网下载PostgreSQL14.0的安装包

PostgreSQL官网
Ubuntu选择后缀为tar.gz的文件进行下载

2.增加用户postgres

 adduser postgres

3.解压安装

解压压缩包

tar zxvf postgresql-14.0.tar.gz

安装依赖包

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make
sudo apt install libreadline-dev
sudo apt-get install zlib1g-dev

编译

cd postgresql-14.0
./configure --prefix=/usr/local/pgsql --enable-debug
sudo make && sudo make install
cd contrib #插件
sudo make && sudo make install

数据目录创建

sudo mkdir -p /var/postgresql/data
chown postgres:postgres /var/postgresql -R
chown postgres:postgres /usr/local/pgsql -R

切换用户

su  postgres

环境变量设置

vi ~/.bash_profile

在~/.bash_profile中写入:

export PGHOME=/usr/local/pgsql
export PGDATA=/var/postgresql/data
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE=`date +"%Y-%m-%d %H:%M:%S"`
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
alias rm='rm  -i'
alias ll='ls -lh'
#alias pg_start='pg_ctl start -D $PGDATA'
#alias pg_stop='pg_ctl stop -D $PGDATA -m fast'

初始化数据库

initdb -D /var/postgresql/data

连接数据库服务

pg_ctl -D /var/postgresql/data start

三、pgvector安装

github上的pgvector

1. 从github上克隆下来

首先要安装git,详细可参考:安装Git

cd /tmp
git clone --branch v0.5.1 https://github.com/pgvector/pgvector.git

此时可能会遇到拒绝连接
拒绝连接
等待即可,因为可能是网络不好。。

2. 安装pgvector插件

cd pgvector/
make && sudo make install

此时可能会遇到Makefile:48: /usr/lib/postgresql/10/lib/pgxs/src/makefiles/pgxs.mk: 没有那个文件或目录
make: *** 没有规则可制作目标“/usr/lib/postgresql/10/lib/pgxs/src/makefiles/pgxs.mk”。 停止。

错误

这是因为环境配置没有配置好,查看pg_config在哪

which pg_config

错误
可以看到我的pg_config的绝对地址,但其实它应该在==/usr/local/pgsql/bin/pg_config==

所以以下有两种方法可以解决:

  1. 在命令行export设置临时环境变量
sudo make PG_CONFIG=/usr/local/pgsql/bin/pg_config 
sudo make PG_CONFIG=/usr/local/pgsql/bin/pg_config install
  1. 在~/.bash_profile修改环境变量
vi ~/.bash_profile

在文件内加入

export PG_CONFIG=/usr/local/pgsql/bin/pg_config

安装成功如图
安装成功

3. 开始使用pgvector

启用pgsql命令行

psql

pgsql

创建扩展

CREATE EXTENSION vector;
CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));
INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]');

此处有一个特别提醒,不是pgvector,而是vector
报错
运行CREATE成功后
运行成功
查看items表
items

相关推荐

  1. postgresql & pgvector 安装间记

    2023-12-17 00:50:03       69 阅读
  2. Docker环境安装Postgresql数据库Posrgresql 15.6

    2023-12-17 00:50:03       28 阅读
  3. PostgreSQL说明

    2023-12-17 00:50:03       51 阅读
  4. postgresql安装脚本

    2023-12-17 00:50:03       64 阅读
  5. postgresql 12 安装

    2023-12-17 00:50:03       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 00:50:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 00:50:03       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 00:50:03       87 阅读
  4. Python语言-面向对象

    2023-12-17 00:50:03       96 阅读

热门阅读

  1. (第38天)RAC 修改 IP 信息

    2023-12-17 00:50:03       56 阅读
  2. 前端(二)

    2023-12-17 00:50:03       54 阅读
  3. 使用Python实现蒙特卡罗算法

    2023-12-17 00:50:03       54 阅读
  4. C#基础——面向对象(封装 继承 多态)

    2023-12-17 00:50:03       64 阅读
  5. ca-certificates.crt解析加载到nssdb中

    2023-12-17 00:50:03       55 阅读
  6. Go中的工作池:并发任务的优雅管理

    2023-12-17 00:50:03       52 阅读
  7. 快速学习C++中的模板

    2023-12-17 00:50:03       54 阅读
  8. [笔记] wsl2 下使用 qemu/grub 模拟系统启动(多分区)

    2023-12-17 00:50:03       56 阅读
  9. 来聊聊CAS

    2023-12-17 00:50:03       57 阅读
  10. Linux 中定时任务

    2023-12-17 00:50:03       56 阅读
  11. C语言第五十二弹--模拟使用strncat

    2023-12-17 00:50:03       49 阅读