利用連接池連接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)