Checking if a postgresql table exists under python (and probably Psycopg2)

前端 未结 8 2043
我在风中等你
我在风中等你 2020-12-08 18:24

How can I determine if a table exists using the Psycopg2 Python library? I want a true or false boolean.

8条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-08 19:16

    I don't know the psycopg2 lib specifically, but the following query can be used to check for existence of a table:

    SELECT EXISTS(SELECT 1 FROM information_schema.tables 
                  WHERE table_catalog='DB_NAME' AND 
                        table_schema='public' AND 
                        table_name='TABLE_NAME');
    

    The advantage of using information_schema over selecting directly from the pg_* tables is some degree of portability of the query.

提交回复
热议问题