hgdbv9插件plpython3u报异常用系统自带动态链接库替换恢复正常
2026/7/18 1:51:17 网站建设 项目流程

文章目录

  • 环境
  • 症状
  • 问题原因
  • 解决方案

环境

系统平台:银河麒麟 (X86_64),银河麒麟 (鲲鹏)
版本:9.0.4,9.0.3

症状

创建plpython3u 插件

test01=# create extension plpython3u;CREATEEXTENSION

创建函数报错

test01=# CREATE OR REPLACE FUNCTION hello_world()test01-# RETURNS text AS $$test01$# return "Hello, PostgreSQL with Python3!"test01$# $$ LANGUAGE plpython3u;服务器意外地关闭了联接 这种现象通常意味着服务器在处理请求之前 或者正在处理请求的时候意外中止 与服务器的连接已断开,正在试图重置: 失败。!?>败。!?>

问题原因

查看数据库自带的python3u的版本

#01-p24x9llq#pwd /hgsoft/10001/hgdbv9/lib/postgresql #01-p24x9llq#ldd plpython3.so linux-vdso.so.1 (0x00007fff58f4c000) libpython3.11.so.1.0 => /hgsoft/10001/hgdbv9/lib/postgresql/./../libpython3.11.so.1.0 (0x000014c360bd3000) libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x000014c360b95000) libc.so.6 => /usr/lib64/libc.so.6 (0x000014c3609dd000) libdl.so.2 => /usr/lib64/libdl.so.2 (0x000014c3609d8000) libutil.so.1 => /usr/lib64/libutil.so.1 (0x000014c3609d3000) libm.so.6 => /usr/lib64/libm.so.6 (0x000014c360850000) /lib64/ld-linux-x86-64.so.2 (0x000014c3615a0000)

查看系统的python版本

#01-p24x9llq# python3 --version Python 3.7.9

问题原因为系统自带python环境版本3.与插件所需的3.11版本不同。

解决方案

备份数据库自带的动态链接库,然后用系统的替代数据库自带的进行替换。

$cp /hgsoft/10001/hgdbv9/lib/libpython3.11.so.1.0 /hgsoft/10001/hgdbv9/lib/libpython3.11.so.1.0.old $cp /usr/lib64/libpython3.so /hgsoft/10001/hgdbv9/lib/libpython3.11.so.1.0

验证数据库python3u插件

test01=# CREATE OR REPLACE FUNCTION hello_world()test01-# RETURNS text AS $$test01$# return "Hello, PostgreSQL with Python3!"test01$# $$ LANGUAGE plpython3u;CREATEFUNCTIONtest01=# SELECT hello_world();hello_world---------------------------------Hello,PostgreSQLwithPython3!(1行记录)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询