问题就是:云数据库默认sha256加密,psycopg2等默认则采用md5,需要先修改配置,再重启数据库,再修改数据库管理员密码的加密格式
一、修改配置
“`
cd /gaussdb/data/db1 # 配置文件夹目录
“`
修改下面的postgresql.conf和pg_hba.conf文件
修改postgresql.conf:
listen_addresses 参数修改为*

password_encryption_type 参数修改为 0,旁边注释写了md5加密
修改pg_hba.conf
添加这一行到最开头,即所有database的所有user的本机都采用md5加密

重启数据库服务
“`
gs_om -t restart
“`
创建连接用户
“`
# 创建用户dboper,密码是123123
CREATE USER dboper WITH PASSWORD '123123';
# 授予用户权限
ALTER USER dboper SYSADMIN;
# 创建数据库并指定所有者
CREATE DATABASE oasys WITH OWNER dboper;
“`
检查密码加密格式
“`
SELECT rolname, rolpassword FROM pg_authid WHERE rolname = 'dboper';
“`
应该显示

本地测试连接
“`
import psycopg2
try:
# 配置连接参数
conn = psycopg2.connect(
database=”oasys”, # 数据库名称
user=”dboper”, # 用户名
password=”123123″, # 密码
host=”120.46.01.22″, # 主机地址,服务器IP
port=”26000″, # 端口号
sslmode=”disable” # SSL模式
)
cursor = conn.cursor()
cursor.execute(“SELECT version();”)
print(cursor.fetchone())
conn.commit()
print(“连接成功”)
except Exception as e:
print(f”连接失败: {e}”)
finally:
# 关闭连接
if 'conn' in locals():
conn.close()
print(“数据库连接已关闭”)
“`














暂无评论内容