一、背景
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, inimport 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




