用Python模拟多用户操作PostgreSQL



我想比较一下我的分布式数据库和postgresql。因此,我需要使用Python在postgresql上模拟多用户SQL操作。

我可以使用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语句创建随机参数,我应该怎么做?

您可以使用random函数来生成随机的'ST_MAKEENVELOPE '限定符,这是假设它们属于某个范围。然后使用随机函数获得ST_MAKEENVELOPE的5个不同的ID。

另一件事,你可以使用for cmd in range(5):,而不是创建一个列表,然后使用它

相关内容

最新更新