PostgreSQL入门教程

news2024/11/24 16:48:53

目录

一、PostgreSQL安装

1、下载

2、安装

二、PostgreSQL操作

1、数据库操作

2、表操作

3、数据操作


一、PostgreSQL安装

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

1、下载

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

2、安装

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

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

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

二、PostgreSQL操作

通用命令:

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

1、数据库操作

查询所有数据库:

select datname from pg_database;

创建数据库:

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

进入数据库:

\c 数据库名

删除数据库:

drop database 数据库名;

2、表操作

创建表:

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( 一个或多个列 )
);

查看表格:

\d table_name

删除表格:

DROP TABLE table_name;

3、数据操作

插入数据:

# 指定字段插入
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);

# 全部字段插入
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

选择数据:

SELECT column1, column2,...columnN FROM table_name;

更新数据:

UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition];

删除数据:

DELETE FROM table_name WHERE [condition];

三、插件

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

1、下载gpvector插件

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

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

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

2、测试

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

pip install --upgrade pip            
pip install "psycopg[binary]"

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

import psycopg
from pgvector.psycopg import register_vector

import numpy as np


conn = psycopg.connect(dbname='postgres', autocommit=True, password="your password", user="postgres")
conn.execute('CREATE EXTENSION IF NOT EXISTS vector')
register_vector(conn)

conn.execute('DROP TABLE IF EXISTS python_test')
conn.execute('CREATE TABLE python_test (id bigserial PRIMARY KEY, embedding vector(512))')

embeddings = np.random.rand(10000, 512)
sql = 'INSERT INTO python_test (embedding) VALUES ' + ','.join(['(%s)' for _ in embeddings])
params = [embedding for embedding in embeddings]
conn.execute(sql, params)
conn.execute('CREATE INDEX ON python_test USING ivfflat (embedding vector_ip_ops)')

embedding = np.random.rand(512)
result = conn.execute('SELECT id, embedding FROM python_test ORDER BY embedding <#> %s LIMIT 15', (embedding,)).fetchall()
for single_line in result:
    id, embed = single_line
    print(id, np.dot(embedding, embed), embedding.shape, embed.shape)
conn.close()

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

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

相关文章

phpstudy搭建网站,通过快解析端口映射外网访问

phpstudy是一款集成了apache、mysql、php、ftp等web平台的环境搭建工具&#xff0c;可以让用户轻松搭建测试和开发环境&#xff0c;且不必有过多的配置设置工作。使用phpstudy可以快速搭建出一个本地环境的网站&#xff0c;方便进行调试和开发工作。当然也可以快速搭建部署个人…

Antlr4 语法解析器(下)

Antlr4 的两种AST遍历方式:Visitor方式 和 Listener方式。 Antlr4规则文法: 注释:和Java的注释完全一致,也可参考C的注释,只是增加了JavaDoc类型的注释;标志符:参考Java或者C的标志符命名规范,针对Lexer 部分的 Token 名的定义,采用全大写字母的形式,对于parser rule…

VSCode配置Java环境 全程记录 配置成功| Windows

目录 1 配置电脑Java环境 1.1 下载jdk: 1.2 配置环境变量 1.3 测试Java环境 2. vscode中创建一个Java项目 2.1 创建一个项目根目录 2.2 配置插件 2.3 创建Java项目 1 配置电脑Java环境 1.1 下载jdk: ​​​​​​Java Download | 官网 下载完后双击运行该软件&#xff0c…

kafka入门,文件存储机制(十六)

文件存储机制 1、Topic数据的存储机制 topic是逻辑上的概念&#xff0c;而partition是物理上的概念&#xff0c;每个partition对应一个log文件&#xff0c;该log文件中存储就是Producer生产的数据。Producer生产的数据会不断追加到该log文件末端&#xff0c;为防止log文件过大…

用户标签画像如何建立?用户营销数字化系统推荐

什么是客户管理系统&#xff1f;如蚓链客户管理系统就是基于数字化技术手段&#xff0c;搭配客户标签、客户画像、客户跟进等机制的设计&#xff0c;从而构建可以记录、跟踪和管理公司客户的系统就属于客户管理系统。利用客户管理系统的一系列功能&#xff0c;公司可以真正了解…

Dependency ‘com.google.code.gson:gson:2.10.1‘ not found

当Maven依赖无法导入时&#xff0c;咱们如图操作File->Project Structure 这里输入指定包名之后记得要点击搜索按钮&#xff01;&#xff01;&#xff01; 最后根据搜索结果导入指定包名即可&#xff01; 最后&#xff0c;如果本文对您有帮助&#xff0c;可以给本文点个赞…

[前端]JS语法——检测数据类型typeof

typeof用于检测数据类型&#xff0c;返回以下基本的数据类型&#xff1a; number、string、boolen、undefined、function、object 注意&#xff1a; NaN检测结果为number; 对象、数组、null检测结果为object&#xff1b; 未定义的变量检测结果为undefined. <script>…

2023 中兴捧月算法挑战赛-自智网络-参赛总结

“中兴捧月”是由中兴通讯面向在校大学生举办的全球性系列赛事活动&#xff0c;致力于培养学生建模编程、创新、方案策划和团队合作能力。今年是在学校的宣传下了解到比赛&#xff0c;最初抱着学习的态度报名了比赛&#xff0c;最终进入了决赛&#xff0c;完成了封闭的开发与赛…

MySQL数据库基础(一):数据库安装和DataGrip安装

学习目录 数据库介绍 MySQL数据库安装和使用 SQL语句 DDL之数据库操作 DDL之表操作 DML数据库操作语言 SQL约束 DQL操作 多表操作 学习目标 掌握DDL操作 了解mysql的约束 掌握DML操作 掌握DQL操作 掌握多表联查 一、数据库概述 1、数据库介绍 数据库就是存储数据…

SpringBoot(原理篇)

SpringBoot原理篇 自动配置 bean加载方式 xml方式声明bean 相关类&#xff1a; domain域中的实体类&#xff1a; public class Mouse { }public class Cat { }public class Dog { }测试&#xff1a; public class App1 {public static void main(String[] args) {ClassP…

MyBatis学习笔记--下篇

MyBatis学习笔记–下篇 文章目录 MyBatis学习笔记--下篇1、多对一的处理(关联)1.1、表的创建1.2、实体类1.2、按照查询嵌套处理1.3、按照结果嵌套处理&#xff08;联表查询 &#xff09; 2、一对多的处理&#xff08;Collection&#xff09;2.1、实体类2.2、按结果查询&#xf…

《绝地求生》提示d3dcompiler_47.dll缺失怎么修复win11,三个简易的修复方法

在打开《绝地求生》游戏的时候&#xff0c;报错提示“由于找不到d3dcompiler_47.dll”&#xff0c;“d3dcompiler_47.dll缺失”等问题&#xff0c;都是由于电脑系统的中的d3dcompiler_47.dll文件丢失或者损坏了。d3dcompiler_47.dll 是 Microsoft 的 DirectX 11 核心组件之一&a…

彻底搞懂Linux中10位含义的文件权限以及修改文件权限

彻底搞懂Linux中10位含义的文件权限以及修改文件权限 1. 前言1.1 创建用户及简单权限问题1.2 抛出文件权限问题 2. 第二段&#xff08;连接数&#xff09;3. 第三段&#xff08;所属者&#xff09; 第四段&#xff08;所属组&#xff09;3.1 介绍Linux中的三种角色3.2 更改文件…

Kubernetes删除ns(namespace)

一、前言 删除某个应用或模块的时候&#xff0c;可能会出现命名空间的状态一直处于Terminating状态&#xff0c;无论是重启k8s还是重启所有服务器都没卵用。 k8s遇到有无法删除的ns&#xff08;namespace&#xff09;命名空间的时候&#xff0c;可以尝试几种删除方式 二、删…

zabbix拓扑图主机拓扑的分组设置

目录 一、需求描述 二、实现方法 &#xff08;一&#xff09;第一步 编辑拓扑图 &#xff08;二&#xff09;第二步 编辑形状 &#xff08;三&#xff09;第三步 点“更新” 一、需求描述 在zabbix-监测-拓扑图-服务器拓扑图中&#xff0c;需要按照各业务来分组展示&#…

「STC8A8K64D4开发板」第2-5讲:I/O中断

第2-5讲&#xff1a;I/O中断 学习目的学习中断的相关概念。掌握中断向量大于 31的处理方法。掌握中断服务程序的编写。 STC8A8K64D4 I/O中断 STC8A8K64D4单片机的所有GPIO都支持I/O 中断&#xff0c;且支持 4 种中断触发模式&#xff1a;下降沿中断、上升沿中断、低电平中断和…

Pegasus开发环境

文章目录 Pegasus开发环境开发环境部署步骤1 安装 vs code步骤2 DecEco Device Tool 下载安装步骤3 下载Hi3861 Openharmony SDK步骤4 下载开发者工具步骤5 工程管理配置1. 打开DevEco Device Tool 主页 导入工程2. 选择Hi3861 Openharmony SDK目录3. 芯片选型4. 进行后续代码开…

Spring ServiceLocatorFactoryBean 小结

前言 偶然看到一篇微信公众号文章的分享 https://mp.weixin.qq.com/s/11VKseROGVcJHPCJ8xQ3XA&#xff0c;感觉挺有意思&#xff0c;在这里记录下。 为什么感觉有意思呢&#xff1f;是因为它通过spring 提供的ServiceLocatorFactoryBean 来实现服务定位模式&#xff0c;将服务…

linux-2.6.22.6内核i2c驱动框架源码分析

i2c是常见的通信协议&#xff0c;协议比较简单&#xff0c;只有数据和时钟两条线&#xff08;SDA和SCL&#xff09;&#xff0c;i2c的通信分为主机和从机&#xff0c;主机一般占主导地位&#xff0c;从机可以有多个。 i2c通信的数据格式为(SDA上的数据)&#xff1a;开始的7位里…

【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…