马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
环境变量修改
- 打开 .bashrc 文件进行编辑:
vim ~/.bashrc
- 在文件的末尾添加上面的环境变量配置
- # 添加 PostgreSQL 可执行文件路径到系统 PATH
- export PATH=/home/....../pg/postgresql-12.4/bin:$PATH
- # 设置 PostgreSQL 数据目录
- export PGDATA=/home/....../pg/postgresql-12.4/data
- # 设置 PostgreSQL 库文件路径
- export LD_LIBRARY_PATH=/home/....../pg/postgresql-12.4/lib:$LD_LIBRARY_PATH
- # 自定义 PostgreSQL 端口号(可选)
- export PGPORT=5333 # 如果不需要自定义端口,可以改为 5432 或删除这行
复制代码 3.保存并退出 .bashrc,然后使配置立即收效:
source ~/.bashrc
Postgresql安装与链接
解压乐成后显示
- ls
- postgresql-12.4 postgresql-12.4.tar.gz
复制代码 进入到postgresql-12.4目录编译安装
- # 制定编译工具
- ./configure --prefix=/home/....../pg --enable-depend --enable-cassert --enable-debug CFLAGS=-O0
- # 编译安装
- make && make install
复制代码
- prefix:安装在自己的目录下
注意:CFLAGS发起加上面这个-O0选择,这样可以调试更多内容,方便后续GDB进行调试,否则后续进行学习的时候会重新安装PGSQL。
2、初始化数据库簇 (在postgresql-12.4目录下创建data文件夹)
./initdb -D ../data
3、启动数据库
- ./pg_ctl -D ../ data -l logfile start
- ./psql postgres
复制代码 配置环境变量后,可直接利用 :
启动 PostgreSQL
pg_ctl start
停止 PostgreSQL
pg_ctl stop
如果是手动安装的 PostgreSQL,可以利用 pg_ctl:
/home/....../pg/postgresql-12.4/bin/pg_ctl -D /home/....../pg/postgresql-12.4/data stop
毗连到 PostgreSQL 数据库
利用 psql 下令行工具毗连到 PostgreSQL 数据库:
psql -U username -d dbname
例如,利用用户 username 毗连到 postgres 数据库:
- psql -U username -d postgres
复制代码 如果没有指定命据库名,psql 会尝试毗连与当前用户同名的数据库。
断开毗连(退出 psql 控制台)
利用以下下令退出 psql 控制台:
\q
PGSQL的利用
- 使用 \l 用于查看已经存在的数据库;
- 使用 \c + 数据库名 来进入数据库;
- \d 命令来查看表格;
- \d tablename 查看表格信息;
复制代码 pgvector安装
- tar -zxvf pgvector-0.7.0.tar.gz
- cd pgvector-0.7.0
- # 安装调试版本
- CFLAGS="g" PG_CFLAGS="-DDISABLE_DISPATCH" make && make install
复制代码 之后进入到postgresql服务器里面,利用
创建Vevtor插件。
利用如下代码可以快速在表中生成大量的向量:
- create or replace function gen_float4_arr1(int,int) returns float4[] as $$
- select array_agg(trunc(random()*$1)::float4) from generate_series(1,$2);
- $$ language sql strict volatile;
- create or replace function gen_float4_arr(float4[], int) returns float4[] as $$
- select array_agg( (u + (u*$2/2.0/100) - u*$2/100*random())::float4 ) from unnest($1) u;
- $$ language sql strict volatile;
复制代码 创建表,id要用serial
- create table if not exists v(
- id serial PRIMARY KEY,
- vec vector(10) -- 自己写想要的维度,比如10
- );
复制代码 利用下面的代码进行向量的随机生成:
- do language plpgsql $$
- declare
- v_cent float4[];
- begin
- for i in 1..10 loop -- 10个中心点,下面一次插1k条,那就是1万,自己想怎么改怎么改
- v_cent := gen_float4_arr1(10000,10); -- 取值范围10000,表是什么维度,这里就写多少
- insert into v (vec) select gen_float4_arr(v_cent, 20)::vector(10) from generate_series(1,1000); -- 1万个点围绕一个中心点, 每个维度的值随机加减20% ,10000,20也都可以改
- end loop;
- end;
- $$;
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |