postgis--PostgreSQL16及其plpython3u扩展

PostgreSQL16及其plpython3u扩展

安装plpython3u拓展常见错误

在安装pg后想用python创建自定义函数,默认是不支持的,但是增加拓展有很多坑,在这里记录以下。

最常见的错误:

错误: 无法加载库 "D:/ProgramFiles/PostgreSQL/13/lib/plpython3.dll": The specified module could not be found.

错误: 无法加载库 "D:/ProgramFiles/PostgreSQL/13/lib/plpython3.dll": The specified module could not be found.

SQL 状态: 58P01

安装postgresql

下载安装postgresql

安装postgis

postgis和postgresql版本号要对应

安装python

版本号要求非常严格,查看这个文件里面有指定版本。

配置环境变量

python需要配置环境变量,postgresql也是,是配置系统环境变量不是用户的。

安装完成后后验证

可以先在命令行验证

复制代码
C:\Users\83832>"D:\ProgramFiles\PostgreSQL\16\bin\psql.exe" -U postgres -d postgres -c "CREATE EXTENSION plpython3u;"
用户 postgres 的口令:

CREATE EXTENSION

C:\Users\83832>"D:\ProgramFiles\PostgreSQL\16\bin\psql.exe" -U postgres -d postgres -c "CREATE OR REPLACE FUNCTION test_py() RETURNS text AS $$ return 'Python works!' $$ LANGUAGE plpython3u; SELECT test_py();"
用户 postgres 的口令:

CREATE FUNCTION
    test_py
---------------
 Python works!
(1 行记录)

pgAdmin 使用

需要先确认进入的数据库是否已经增加了plpython3u 扩展;(默认是postgres数据库 postgis_16_sample默认是没有的)

复制代码
# 增加扩展
CREATE EXTENSION plpython3u;

# 测试创建函数
CREATE OR REPLACE FUNCTION add_numbers(a int, b int)
RETURNS int
AS $$
    return a + b
$$ LANGUAGE plpython3u;

# 调用测试函数
SELECT add_numbers(10, 20);

enceDiagram.html

相关推荐
曦月逸霜2 小时前
啥是RAG 它能干什么?
人工智能·python·机器学习
2301_769340672 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发).txt
jvm·数据库·python
南 阳3 小时前
Python从入门到精通day66
开发语言·python
m0_596749094 小时前
JavaScript中手动实现一个new操作符的底层逻辑
jvm·数据库·python
DTAS尺寸公差分析软件4 小时前
DTAS3D v13.0 三维尺寸公差分析软件可申请试用
python·尺寸公差分析·三维公差分析·公差仿真软件·尺寸链计算
DTAS尺寸公差分析软件4 小时前
DTAS 3D公差分析软件最新版本介绍
python·3d·尺寸公差分析·尺寸链计算·尺寸工程·尺寸链校核软件·公差仿真分析
PieroPc4 小时前
CAMWATCH — 局域网摄像头监控系统 Fastapi + html
前端·python·html·fastapi·监控
feasibility.4 小时前
反爬十层妖塔:现代爬虫攻防的立体战争
爬虫·python·科技·scrapy·rust·go·硬件
十八旬4 小时前
快速安装ClaudeCode完整指南
开发语言·windows·python·claude
dFObBIMmai5 小时前
如何在 CSS 中实现元素的绝对定位,使其不受窗口尺寸变化影响
jvm·数据库·python