python3连接postgresql

利用连接池连接postgresql,这里要注意的是,如果fetchall报错的话有可能是字符编码,需要设置字符编码如下:

import psycopg2.pool
from time import time

t = time()
n = 10000
simple_conn_pool = psycopg2.pool.SimpleConnectionPool(5, 200, host=HOST,user=USERNAME, password=PASSWORD, dbname=DB,port=PORT)
conn = simple_conn_pool.getconn()
conn.set_client_encoding('utf-8')
cur = conn.cursor()
cur.execute(SQL)
res = cur.fetchall()
print(res)
print(time() - t)
simple_conn_pool.closeall()

直连

import psycopg2
from time import time

t = time()
n = 10000
conn = psycopg2.connect(dbname=DB, user=USERNAME, password=PASSWORD, host=HOST,port=PORT)
conn.set_client_encoding('utf-8')
cur = conn.cursor()
cur.execute(SQL)
for i in cur:
    print(i)
print(time() - t)

 

posted @ 2021-11-05 12:00  力王7314  阅读(1286)  评论(0编辑  收藏  举报