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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/225629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

25 redis 中 cluster 集群的工作模式

前言 我们这里首先来看 redis 这边实现比较复杂的 cluster集群模式 整个 cluster集群 中会包含多对 MasterSlave 的组合, 然后这多对 MasterSlave 来分解 16384 个 slot 然后 客户端这边 set, get 的时候, 先根据 key 计算对应存储的 slot, 然后 服务器这边响应 MOVED 目标…

P with Spacy:自定义文本分类管道

一、说明 Spacy 是一个功能强大的 NLP 库,其中许多 NLP 任务(如标记化、词干提取、词性标记和命名实体解析)均通过预训练模型提供开箱即用的功能。所有这些任务都由管道对象以及逐步应用于给定文本的不同函数的内部抽象来包装。该管道可以通过…

Android--UML类图使用详解

明敕星驰封宝剑,辞君一夜取楼兰 一,定义 类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。它既用于应用程序的系统分…

【数字电路】MacBook使用iverilog进行数字电路仿真

安装流程 在终端中用brew包管理工具进行安装仿真工具: 编译verilog代码: brew install icarus-verilog编译verilog代码: brew install verilatorMacOS系统显示UNIX GUI brew install xquartz可视化仿真波形图: brew install gtk…

基于Springboot的任务发布平台设计与实现(源码齐全+调试)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题,今天给大家介绍…

t-io 程序执行后,jvm不退出的原因

基于t-io 1.7.3 版本分析源码 1、设定当前时间,每10毫秒执行一次 (非守护线程) 2、对应线程池的核心线程在AioServer启动时全部激活,并且添加空任务到阻塞队列,让核心线程(非守护线程)一直存活

IO流学习

IO流:存储和读取数据的解决方案 import java.io.FileOutputStream; import java.io.IOException;public class Test {public static void main(String[] args) throws IOException {//1.创建对象//写出 输入流 OutputStream//本地文件fileFileOutputStream fos new FileOutputS…

RNN和LSTM学习笔记-初学者

提示: 目录 前言一、RNN介绍二、LSTM介绍总结 前言 提示: 提示: 一、RNN介绍 RNN是一种短时记忆,而LSTM是长短时记忆网络 二、LSTM介绍 总结

【专题】最小生成树(prim算法、kruscal算法)

目录 一、最小生成树二、Prim算法1. 算法思想2. 例题3. 性能分析 三、Kruscal算法1. 算法思想2. 例题3. 性能分析 一、最小生成树 生成树中边的权值(代价)之和最小的树。 二、Prim算法 1. 算法思想 设N(V,{E})是连通网,TE是N上最小生成树…

数据库02-04 中级SQL

01.on关键字: 主要用join…on来用多关系查询,和where关键字的相同 student关系: takes关系: 02.一般外连接 自然连接: 这个外连接(自然连接)会缺少空值的元祖(本例子中的stude…

算法--数据结构基础

文章目录 数据结构单链表栈表达式求值前缀表达式中缀表达式后缀表达式 队列单调栈单调队列KMPTrie并查集堆哈希表字符串哈希 数据结构 单链表 用数组模拟(静态链表)效率比定义Node类(动态链表)效率高些 使用数组模拟单链表&am…

Java 使用mybatis的BaseTypeHandler实现数据自动AES加密解密,通过Hutool工具类自定义注解实现数据脱【附有完整步骤和代码】

一、AES加密 1 加密工具类 使用KeyGenerator生成AES算法生成器 public class AESUtil {/*** 密钥长度: 128, 192 or 256*/private static final int KEY_SIZE 256;/*** 加密/解密算法名称*/private static final String ALGORITHM "AES";/*** 随机数生成器&#…

【CDP】CDP 集群通过Knox 访问Yarn Web UI,无法跳转到Flink Web UI 问题解决

一、前言 记录下在CDP 环境中,通过Knox 访问Yarn Web UI,无法跳转到Flink Web UI 的BUG 解决方法。 二、问题复现 登录 Knox Web UI 找到任一 Flink 任务 点击 ApplicationMaster 跳转 Flink WEB UI 出问题 内容空白,无法正常跳转到…

JS基本语法

JS基本语法 变量数据类型原始数据类型 函数定义第一种方式第二种方式 JS 对象ArrayStringJavaScript 自定义对象JSONDOMBOM JS 事件事件监听事件绑定常见事件 变量 数据类型 原始数据类型 函数定义 第一种方式 第二种方式 JS 对象 Array String JavaScript 自定义对象 JSON …

向华为学习:基于BLM模型的战略规划研讨会实操的详细说明,含研讨表单(一)

前面,华研荟用了三篇文章介绍华为战略规划的时候使用的其中一个工具:五看三定。一句话来说,五看三定是通过“五看”来知己知彼,然后设计业务,在选定的业务领域(方向)确定战略控制点,…

STM32_HAL库—IWDG看门狗

一、CubeMX设置 1、晶振配置(72M) 2、数据配置 超时时间 Tout prv / LSI * rlv (s) 其中prv是预分频器寄存器的值,rlv是重装载寄存器的值,而LSI值默认是40kHz,如下所示。 3、代码实现 int main(){while(1){HAL_IW…

【c++】stl_priority_queue优先级队列

目录 一、priority_queue的介绍 二、 priority_queue的本质 三、priority_queue的使用 四、priority_queue的模拟实现 总结 一、priority_queue的介绍 首先让我们通过阅读优先级队列的官方文档 简单翻译一下 1. 优先队列是一种容器适配器,根据严格的弱排序标准…

MySQL数据库遇到不规范建表问题解决方案

简介: 需要建立的关联表如上图所示。 问题发现: 好,问题来了,大伙儿请看:我们的organizations表中的Industry字段居然存储了两个IndustryName,这就很恶心了,就需要我们进行拆分和去重后放到In…

【vtkWidgetRepresentation】第十二期 vtkBalloonRepresentation

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享vtkBalloonRepresentation,用于标注文字或图片,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. vtkBalloonRepre…

竞赛保研 opencv 图像识别 指纹识别 - python

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于机器视觉的指纹识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖,适…