暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

panwei数据库升级之[GAUSS-52200] : Unable to import module: this module was compiled for Python 3.6

杨小满 2026-01-20
72

一、背景

1、panwei数据库当前版本3.1.1,计划升级为3.2.0

2、操作系统版本,BigCloud Enterprise Linux 8.2


二、升级前端报错

[omm@vdb1 script]$ ./pwpatch --upgrade
Perform pwpatch upgrade.
Upgrade instances under user omm and group dbgrp.
Regenerate profile. user: omm, group: dbgrp, clusterXml: /database/panweidb/tmp/pw_cluster_omm_dbgrp_17700.xml.
Successfully regenerate profile. user: omm, group: dbgrp, clusterXml: /database/panweidb/tmp/pw_cluster_omm_dbgrp_17700.xml.
Perform upgrade. clusterXml: /database/panweidb/tmp/pw_cluster_omm_dbgrp_17700.xml.
Execute command failed:
python3 '/home/omm/database_soft/patch/PanWeiDB_V2.0-S3.2.0_B01-patch-bclinux_8.2-x86_64/PWPatch/script/gs_upgradectl' -t auto-upgrade -X '/database/panweidb/tmp/pw_cluster_omm_dbgrp_17700.xml'
[omm@vdb1 script]$ 


三、查看日志

cd $GAUSSHOME/.update/updateLog/omm/
ls 
[omm@vdb1 omm]$ ls -lFrt 
total 19564
-rw-------. 1 omm dbgrp     6980 Nov 10 17:20 gs_preinstall-2025-11-10_171947.log
-rw-------. 1 omm dbgrp 17035265 Nov 10 18:54 gs_local-2025-11-10_172024.log
-rw-------. 1 omm dbgrp    19650 Nov 10 18:54 gs_om-2025-11-10_172114.log
-rw-------. 1 omm dbgrp  2392394 Nov 10 18:55 gs_local-2025-11-10_185450.log
-rw-------. 1 omm dbgrp   540962 Nov 10 18:55 gs_upgradectl-2025-11-10_172114.log
-rw-------. 1 omm dbgrp    23882 Nov 10 18:55 pwpatch-2025-11-10_171908.log

[omm@vdb1 omm]$ tail -100 gs_upgradectl-2025-11-10_172114.log[2025-11-10 17:26:20.306141][1388491][auto-upgrade][LOG]:Failed to get one DN. Error: [GAUSS-51400] : Failed to execute the command: Command:source /home/omm/.Panwei && gs_om -t status --detail. Error: Traceback (most recent call last): File "/database/panweidb/tool/script/gspylib/threads/SshTool.py", line 42, in import paramiko File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/__init__.py", line 22, in from paramiko.transport import SecurityOptions, Transport File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/transport.py", line 89, in from paramiko.dsskey import DSSKey File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/dsskey.py", line 37, in from paramiko.pkey import PKey File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/pkey.py", line 31, in import bcrypt File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/bcrypt/__init__.py", line 25, in from . import _bcrypt # type: ignore ImportError: this module was compiled for Python 3.6 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/database/panweidb/tool/script/gspylib/threads/SshTool.py", line 57, in import paramiko File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/__init__.py", line 22, in from paramiko.transport import SecurityOptions, Transport File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/transport.py", line 89, in from paramiko.dsskey import DSSKey File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/dsskey.py", line 37, in from paramiko.pkey import PKey File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/pkey.py", line 31, in import bcrypt File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/bcrypt/__init__.py", line 25, in from . import _bcrypt # type: ignore ImportError: this module was compiled for Python 3.6 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/database/panweidb/tool/script/gs_om", line 31, in from gspylib.common.ParallelBaseOM import ParallelBaseOM File "/database/panweidb/tool/script/gspylib/common/ParallelBaseOM.py", line 29, in from gspylib.threads.SshTool import SshTool File "/database/panweidb/tool/script/gspylib/threads/SshTool.py", line 59, in raise Exception(ErrorCode.GAUSS_522["GAUSS_52200"] % str(ex)) Exception: [GAUSS-52200] : Unable to import module: this module was compiled for Python 3.6.. [2025-11-10 17:26:20.308106][1388491][auto-upgrade][DEBUG]:Traceback (most recent call last):

从日志可以看出主要问题是在执行source /home/omm/.Panwei && gs_om -t status --detail 命令报错。

验证

[omm@vdb1 ~]$ ssh vdb1 "source ~/.Panwei && gs_om -t status --detail  "
Traceback (most recent call last):
  File "/database/panweidb/tool/script/gspylib/threads/SshTool.py", line 42, in <module>
    import paramiko
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/__init__.py", line 22, in <module>
    from paramiko.transport import SecurityOptions, Transport
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/transport.py", line 89, in <module>
    from paramiko.dsskey import DSSKey
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/dsskey.py", line 37, in <module>
    from paramiko.pkey import PKey
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/pkey.py", line 31, in <module>
    import bcrypt
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/bcrypt/__init__.py", line 25, in <module>
    from . import _bcrypt  # type: ignore
ImportError: this module was compiled for Python 3.6

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/database/panweidb/tool/script/gspylib/threads/SshTool.py", line 57, in <module>
    import paramiko
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/__init__.py", line 22, in <module>
    from paramiko.transport import SecurityOptions, Transport
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/transport.py", line 89, in <module>
    from paramiko.dsskey import DSSKey
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/dsskey.py", line 37, in <module>
    from paramiko.pkey import PKey
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/paramiko/pkey.py", line 31, in <module>
    import bcrypt
  File "/database/panweidb/tool/script/domain_utils/sql_handler/../../../lib/bcrypt/__init__.py", line 25, in <module>
    from . import _bcrypt  # type: ignore
ImportError: this module was compiled for Python 3.6

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/database/panweidb/tool/script/gs_om", line 31, in <module>
    from gspylib.common.ParallelBaseOM import ParallelBaseOM
  File "/database/panweidb/tool/script/gspylib/common/ParallelBaseOM.py", line 29, in <module>
    from gspylib.threads.SshTool import SshTool
  File "/database/panweidb/tool/script/gspylib/threads/SshTool.py", line 59, in <module>
    raise Exception(ErrorCode.GAUSS_522["GAUSS_52200"] % str(ex))
Exception: [GAUSS-52200] : Unable to import module: this module was compiled for Python 3.6.

[root@vdb1 ~]# su - omm
Last login: Mon Nov 10 18:38:17 CST 2025 on pts/1
[omm@vdb1 ~]$ 
[omm@vdb1 ~]$ gs_om -t status --detail 
[   Cluster State   ]

cluster_state   : Normal
redistributing  : No
current_az      : AZ_ALL

[  Datanode State   ]

    nodenode_ip         port      instance                        state
---------------------------------------------------------------------------------------
1  vdb1 127.0.0.1       17700      6001 /database/panweidb/data   P Primary Normal
[omm@vdb1 ~]$ 

通过对比,不source 能正常执行,source 之后,报错。怀疑跟环境变量读取有关。


通过对比环境变量,发现source之后,会覆盖一些环境变量。因此查看.bashrc 文件中的环境变量,在执行升级期间多出了以下行

export PGUSER=ommexport LC_ALL=en_US.UTF-8
export PWPATCH_CONFIGURATION_FILE=/database/panweidb/tmp/pwpatch.ini
export PWPATCH_ENV_FILE=/home/omm/.PWPatch_20251110171920
source /home/omm/.PWPatch_20251110171920
export PATH=/home/omm/database_soft/patch/PanWeiDB_V2.0-S3.2.0_B01-patch-bclinux_8.2-x86_64/PWPatch/../python3/python3.7.9/bin:$PATH
export LD_LIBRARY_PATH=/home/omm/database_soft/patch/PanWeiDB_V2.0-S3.2.0_B01-patch-bclinux_8.2-x86_64/PWPatch/../python3/python3.6.15/lib:/home/omm/database_soft/patch/PanWeiDB_V2.0-S3.2.0_B01-patch-bclinux_8.2-x86_64/PWPatch/../python3/python3.7.9/lib:$LD_LIBRARY_PATH


命令重新只读取.Panwei 分离的变量会覆盖掉这些变量。


四、解决方法

将这些多出来的环境变量复制到.Panwei 变量中,再重新执行升级操作,等待升级完成后,再移除掉。

[omm@vdb1 script]$ ./pwpatch --upgrade
Perform pwpatch upgrade.
Upgrade instances under user omm and group dbgrp.
Regenerate profile. user: omm, group: dbgrp, clusterXml: /database/panweidb/tmp/pw_cluster_omm_dbgrp_17700.xml.
Successfully regenerate profile. user: omm, group: dbgrp, clusterXml: /database/panweidb/tmp/pw_cluster_omm_dbgrp_17700.xml.
Perform upgrade. clusterXml: /database/panweidb/tmp/pw_cluster_omm_dbgrp_17700.xml.
Successfully upgrade.
Perform commit. clusterXml: /database/panweidb/tmp/pw_cluster_omm_dbgrp_17700.xml.
Successfully commit.
Remove environment file (/home/omm/.PWPatch_20251110171920).
Begin clearing temporary environment variables in the file (/home/omm/.bashrc).
Start check.
Successfully perform pwpatch upgrade.
[omm@vdb1 script]$ gsql -r 
gsql ((PanWeiDB_V2.0-S3.2.0_B01) compiled at 2025-07-06 23:54:45 commit 86db355 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

postgres=# \q 
[omm@vdb1 script]$ 
文章转载自杨小满,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论