使用pgrs在wsl中为postgres写拓展

ops/2024/9/23 9:43:38/

今天开始研究pgrs写pg扩展. 这是postgres is everything数据组合流派核心功法,近期duckdb,zombodb,datafusion等等产品都是数据组合流思路体现, 把这套功法练到大成,处于2024年,综合数据规模/相应速度/和数据应用层解耦,就有了一个最佳答案. 比以前hadoop,spark那套鬼真的好很多. 应用层面对的是老朋友pg,写的也是熟悉的sql,.但是可以去操作parquet,mysql,mongodb,甚至搜索引擎数据,而且性能不存在理论短板,就说以目前技术水平,都是零成本.

网上资料较少,中文基本没有,英文也很少. 摸索了一上午,跑通了hello world,记录下,后面就是深入的事情. 本文不搬运所有细节,大概把关键坑说出来.

  1. wsl 以及rust 安装自己查,注意此刻不需要安装pg,开发也不需要安装pg,pgrs自动把改安装的都安装了,还是多版本安装
  2. 按照 https://github.com/pgcentralfoundation/pgrx 一路创建项目,我就不搬运了. 创建的项目自带hello_first
  3. 如何验证代码? 运行 cargo pgrx run pg14 ,此刻进入了一个psql环境.注意这个pg14环境就是给你写代码的,和你真正运行的数据库没关系. 所有的psql关于pg拓展有这么几个基本命令可以使用:
    • SELECT * FROM pg_available_extensions; 显示
    • create extention xxx;注意是项目文件夹名称
    • drop extention xxx ;
    • 当你create了后select hello_first(); 就可以验证刚才代码.

4 如何把拓展拷贝到真正的环境:
- 方法1 安装postgres后,版本对好, 把上面代码cargo pgrs package,找到对应的.sql和.control两个文件,这就是拓展,拷贝到/usr/share/postgresql/14/extension
- 方法2 直接cargo pgrs install 他帮帮你拷贝了. 但可能有权限问题.

5 wsl的pg,win如何访问?
- 设置密码 sudo passwd postgres
- /etc posgresql.conf listen “*”
- pg_hba.conf host all all 0.0.0.0/0 trust

6 如何配置vscode ? 用wsl拓展

7 如何使用py调用拓展:

import sqlalchemy as saengine = sa.create_engine('postgresql+psycopg2://postgres:a@172.20.196.29:5432/wq',pool_recycle=3600, pool_size=80, max_overflow=0)query = sa.select(sa.func.hello_first().label('hello_res'))
with engine.connect() as conn:rows = conn.execute(query)for row in rows:print(row.hello_res)

http://www.ppmy.cn/ops/106358.html

相关文章

Git如何安装和配置

一、Git 的安装 1、Git 的官网 Git (git-scm.com) 2、下载 Git for Windows 在官网下载好 Git 的安装文件后,接下来就可以进行安装了。 3、安装 Git 以管理员身份运行你下载的安装文件: 然后就可以进入安装向导了。 4、验证是否安装成功 当安装向…

【C++ 第二十一章】特殊类的设计(学习思路)

1.请设计一个类,不能被拷贝 设计思路 拷贝只会使用在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98 的做法 将拷贝构造函数与赋值运算符…

数据结构————内核链表

内核链表是Linux内核中广泛使用的一种数据结构,它具有以下特点: 1.双向循环链表:每个节点包含两个指针,一个指向前驱节点(prev),另一个指向后继节点(next),…

Docker(完整实验版)

目录 一 Docker 1.1 Docker简介 1.1.1 什么是docker? 1.1.2 docker在企业中的应用场景 1.1.3 docker与虚拟化的对比 1.1.4 docker的优势 1.2 部署docker 1.2.1 配置软件仓库 二 Docker的基本操作 2.1 Docker镜像管理 2.1.1 搜索镜像 2.1.2 拉取镜像 2…

25版王道数据结构课后习题详细分析 第八章 8.1 排序的基本概念

一、单项选择题 ———————————————————— ———————————————————— 解析:拓扑排序是将有向图中所有结点排成一个线性序列,虽然也是在内存中进行的,但它不属于我们这里所提到的内部排序范畴,也…

在仿真数据检查器中查看数据

目录 查看记录的数据 从工作区或文件导入数据 查看复数数据 查看字符串数据 查看基于帧的数据 查看基于事件的数据 可以使用仿真数据检查器来可视化您在整个设计过程中生成的数据。您在 Simulink 模型中记录的仿真数据会记录到仿真数据检查器中。您还可以将测试数…

产业生态构建,产业运营服务如何促进上下游协同?

在当今竞争激烈的市场环境中,产业生态的构建成为了企业发展的关键。而产业运营服务作为推动产业生态发展的重要力量,在促进上下游协同方面发挥着至关重要的作用。 首先,产业运营服务通过搭建交流合作平台,促进上下游企业之间的沟通…

Postman注册使用

文章目录 介绍下载安装官网:[Postman API Platform | Sign Up for Free](https://www.postman.com/) 使用过程 介绍 Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。 Postman原是Chrome浏览器的插件,可以模拟浏览器向后端服务器发起…