2016-09-21 74 views
0

我想比較我的分佈式數據庫和postgresql。所以我需要使用Python在postgresql上模擬多用戶SQL操作。模擬多用戶操作Python的PostgreSQL?

我可以使用mutliprocessing模塊?

這裏是我的代碼

# encoding=utf-8 
import datetime 
import multiprocessing 
import psycopg2 

def exe(cmd): 
    conn = psycopg2.connect("dbname = test user = pj password = dbrgdbrg") 
    cur = conn.cursor() 
    try: 
     sql = "SELECT id FROM test WHERE ST_MAKEENVELOPE(118,38,119,39,4326) && wkb_geometry;" 
     cur.execute(sql) 
     print cur.fetchone() 
    except Exception, e: 
     print e 

if __name__ == "__main__": 
    cmds=range(5) 
    for cmd in cmds: 
     p = multiprocessing.Process(target=exe,args=(cmd,)) 
     p.start() 
     p.join() 

但我不知道這是否是正確的?如果我想爲我的SQL語句創建隨機參數,該怎麼辦?

回答

1

可以使用random功能來生成隨機「ST_MAKEENVELOPE`預選賽,這是假設他們屬於某個範圍。然後使用隨機函數獲得5個不同的ST_MAKEENVELOPE的ID。

另一件事你可以使用for cmd in range(5):而不是創建一個列表,然後使用它。

+0

但是當我運行'sql =「選擇id從測試其中id user82538

+0

'sql =「SELECT id from test where id <」+ str(random.randint(0,10))' – harshil9968