测试Postgres-DB的连接

时间:2017-01-30 15:46:57

标签: python postgresql psycopg2

如果软件连接到特定的Postgre-DB,我想在GUI上放一个按钮。我写了一个小的测试函数:如果它可以连接到数据库,则返回True,否则返回False。

代码有效,但有一个问题:如果没有连接(我只是拔出网线,没有其他变化),它只是 花了太多时间。 如果没有连接,你能帮我更快地编写代码吗?

这是我的简单测试功能:

import psycopg2

def postgres_test():

    try:
        conn = psycopg2.connect("dbname='mydb' user='myuser' host='my_ip' password='mypassword'")
        conn.close()
        return True
    except:
        return False

1 个答案:

答案 0 :(得分:1)

感谢您的评论。是的,它与超时有关。

这是我更快的代码:

import psycopg2

def postgres_test():

    try:
        conn = psycopg2.connect("dbname='mydb' user='myuser' host='my_ip' password='mypassword' connect_timeout=1 ")
        conn.close()
        return True
    except:
        return False