Python驱动连接GBase8c

python3驱动包:openGauss-5.0.2-CentOS-x86_64-Python.tar.gz
python2驱动源码包:psycopg2-2.7.7.tar.gz
python3版本:python3.6
python2版本:python2.7.5

1、使用 python3 连接数据库

1.1.上传驱动包到服务器并解压

驱动包openGauss-5.0.2-CentOS-x86_64-Python.tar.gz

tar -zxvf openGauss-5.0.2-CentOS-x86_64-Python.tar.gz

image.png

1.2.配置 psycopg2

将 psycopg2 拷贝到/usr/lib/python3.6/site-packages 目录下

cp -r psycopg2 /usr/lib/python3.6/site-packages/

image.png
配置在 LD_LIBRARY_PATH 环境变量中

# Python psycopg2
export LD_LIBRARY_PATH=/home/gbase/python-psycopg2/lib:$LD_LIBRARY_PATH

image.png
配置完成。

1.3.使用 python3脚本连接数据库

编写一个Connect_test.py 测试脚本,写入以下内容,连接信息根据实际情况修改

import psycopg2
from psycopg2 import OperationalError

def create_connection(db_name, db_user, db_password, db_host, db_port):
    connection = None
    try:
        connection = psycopg2.connect(
            database=db_name,
            user=db_user,
            password=db_password,
            host=db_host,
            port=db_port,
        )
        print("Connection to PostgreSQL DB successful")
    except OperationalError as e:
        print(f"The error '{e}' occurred")
    return connection

def execute_query(connection, query):
    connection.autocommit = True
    cursor = connection.cursor()
    try:
        cursor.execute(query)
        print("Query executed successfully")
    except OperationalError as e:
        print(f"The error '{e}' occurred")

def execute_read_query(connection, query):
    cursor = connection.cursor()
    result = None
    try:
        cursor.execute(query)
        result = cursor.fetchall()
        return result
    except OperationalError as e:
        print(f"The error '{e}' occurred")

# Replace actual database credentials
connection = create_connection(
    "postgres",
    "gbase8c",
    "Database@123",
    "192.168.123.111",
    "15400"
)

# Drop table if exists
drop_table_query = "DROP TABLE IF EXISTS users;"
execute_query(connection, drop_table_query)

# Create table
create_table_query = """
CREATE TABLE IF NOT EXISTS users (
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL,
  age INT,
  gender TEXT,
  nationality TEXT
);
"""
execute_query(connection, create_table_query)

# Insert data
insert_user_query = """
INSERT INTO
  users (name, age, gender, nationality)
VALUES
  ('James', 25, 'male', 'USA'),
  ('Leila', 32, 'female', 'France');
"""
execute_query(connection, insert_user_query)

# Read data
select_users_query = "SELECT * from users"
users = execute_read_query(connection, select_users_query)
for user in users:
    print(user)

# Update data
update_user_query = """
UPDATE
  users
SET
  age = 26
WHERE
  name = 'James'
"""
execute_query(connection, update_user_query)

# Delete data
delete_user_query = "DELETE FROM users WHERE name = 'Leila'"
execute_query(connection, delete_user_query)

# Read data again
users = execute_read_query(connection, select_users_query)
for user in users:
    print(user)
运行python脚本
python3 Connect_test.py

image.png

2、使用 python2 连接数据库

2.1.安装编译源码包所需依赖包
yum install postgresql-devel -y

image.png

2.1.上传驱动源码包到服务器并解压

驱动包:psycopg2-2.7.7.tar.gz

tar -zxvf psycopg2-2.7.7.tar.gz

image.png

2.2. 编译并安装 psycopg2
python2 setup.py build
python2 setup.py install
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值