解决方案

PostgreSQL入门教程

seo靠我 2023-09-23 12:21:46

目录

一、PostgreSQL安装

1、下载

2、安装

二、PostgreSQL操作

1、数据库操作

2、表操作

3、数据操作

一、PostgreSQL安装

本章节以windows系统安装为例,讲解PostgreSQLSEO靠我 15.0的安装过程。

1、下载

访问PostgreSQL官方网站,下载对应的安装包,也可以在下载页面下载对应的安装包。

2、安装

windows安装选择各种默认设置即可,但是在我的win10系统安装时,最后SEO靠我出现服务无法正常启动的错误,导致安装无法正常结束,可以参考以下步骤:

① 右键我的的电脑=》管理=》服务和应用程序=》服务;

② 右键postgresql-x64-15=》属性=》登录身份选择“本地系统账SEO靠我户”,如下图所示。

二、PostgreSQL操作

通用命令:

查看已存在数据库\l进入数据库\c 数据库名查看表格\d查看指定表格\d 表名

1、数据库操作

查询所有数据库:

select datname froSEO靠我m pg_database;

创建数据库:

create database 数据库名 owner 所属用户 encoding UTF8;

进入数据库:

\c 数据库名

删除数据库:

drop database 数SEO靠我据库名;

2、表操作

创建表:

CREATE TABLE table_name( column1 datatype, column2 datatype, coSEO靠我lumn3 datatype, ..... columnN datatype, PRIMARY KEY( 一个或多个列 ) );

查看表格SEO靠我

\d table_name

删除表格:

DROP TABLE table_name;

3、数据操作

插入数据:

# 指定字段插入 INSERT INTO TABLE_NAME (column1SEO靠我, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN); # 全部字段插入 SEO靠我INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

选择数据:

SELECT column1, column2,...columSEO靠我nN FROM table_name;

更新数据:

UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valuSEO靠我eN WHERE [condition];

删除数据:

DELETE FROM table_name WHERE [condition];

三、插件

以pgvector插件(第三方插件)为例,给出安装和使用教SEO靠我程。

1、下载gpvector插件

从地址pgvector下载插件源码,按照教程中的如下命令安装插件:

set "PGROOT=C:\Program Files\PostgreSQL\15" SEO靠我 git clone --branch v0.4.4 https://github.com/pgvector/pgvector.git cd pgvector nmakSEO靠我e /F Makefile.win nmake /F Makefile.win install

说明:在windows环境下安装visual studio即可使用nmake,如果提示该命SEO靠我令不存在,可以在安装目录进行搜索后添加到环境变量。

2、测试

本次使用python代码库psycopg进行测试,首先安装psycopg:

pip install --upgrade pip SEO靠我pip install "psycopg[binary]"

 测试代码如下,测试特征向量的匹配,使用内积匹配(修改密码、用户名等配置):

import psycopg from pgvectSEO靠我or.psycopg import register_vector import numpy as np conn = psycopg.connect(dbnamSEO靠我e=postgres, autocommit=True, password="your password", user="postgres") conn.execute(CREATE SEO靠我EXTENSION IF NOT EXISTS vector) register_vector(conn) conn.execute(DROP TABLE IF EXSEO靠我ISTS python_test) conn.execute(CREATE TABLE python_test (id bigserial PRIMARY KEY, embeddingSEO靠我 vector(512))) embeddings = np.random.rand(10000, 512) sql = INSERT INTO python_tesSEO靠我t (embedding) VALUES + ,.join([(%s) for _ in embeddings]) params = [embedding for embedding SEO靠我in embeddings] conn.execute(sql, params) conn.execute(CREATE INDEX ON python_test USSEO靠我ING ivfflat (embedding vector_ip_ops)) embedding = np.random.rand(512) result = conSEO靠我n.execute(SELECT id, embedding FROM python_test ORDER BY embedding <#> %s LIMIT 15, (embedding,)).feSEO靠我tchall() for single_line in result: id, embed = single_line print(id, np.dotSEO靠我(embedding, embed), embedding.shape, embed.shape) conn.close()
“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2