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

2023-12-16 13:30

本文主要是介绍PostgreSQL向量数据插件--pgvector安装(附PostgreSQL安装),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PostgreSQL向量数据插件--pgvector安装

  • 一、版本
  • 二、数据库安装
    • 1. 在官网下载PostgreSQL14.0的安装包
    • 2.增加用户postgres
    • 3.解压安装
  • 三、pgvector安装
    • 1. 从github上克隆下来
    • 2. 安装pgvector插件
    • 3. 开始使用pgvector
      • 启用pgsql命令行
      • 创建扩展

本文为本人在安装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/pgsql14/bin/pg_config 
sudo make PG_CONFIG=/usr/local/pgsql14/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

这篇关于PostgreSQL向量数据插件--pgvector安装(附PostgreSQL安装)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/500643

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片