最近的项目中用到 pgsql 的向量数据,但是公司开发机没有root权限,最后通过源码编译的方式完成安装。
首先下载源码到本地
根据官方指引安装环境依赖
执行命令:
1 | ./configure --prefix=$HOME/postgres/ --with-python PYTHON=/usr/bin/python3.7 |
其中 prefix 指定安装目录, with-python 指定python二进制文件的目录。
执行命令:
1 | make -j 4 |
使用4个cpu内核编译源码
执行命令:
1 | make install |
编译安装
安装完成后,可以在 ~/postgres/目录中看到以下文件目录
- bin
- include
- lib
- share
创建数据库
1 | ~/postgres/bin/initdb -D ~/postgres/data/ |
启动数据库
1 | ~/postgres/bin/pg_ctl -D ~/postgres/data/ -l logfile start |
查看版本
1 | ~/postgres/bin/psql --version |
连接数据库
1 | ~/postgres/bin/psql -U guotao071 postgres |
安装 pgvector 插件
下载源码,进入解压后的目录
执行命令:
1 | make |
启用 pgvector 插件
连接数据库后,执行命令:
1 | CREATE EXTENSION vector; |
如果网络良好且无需考虑无线流量,用 homebrew 或 docker 暴露服务端口也是可以的。
Postgresql数据库导入导出
导出
1 | pg_dump -t modeldata -h 127.0.0.1 postgres -U guotao071 -p 5432 -f thr.sql |
导入
1 | psql -h 0.0.0.0 -d postgres -U guotao071 -p 5432 -f thr.sql |
参考
https://www.cnblogs.com/sunhongleibibi/p/11943393.html
https://blog.51cto.com/suncj/5038850
https://www.endpointdev.com/blog/2013/06/installing-postgresql-without-root/