PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Überprüfen, ob eine Postgresql-Tabelle unter Python (und wahrscheinlich Psycopg2) existiert

Wie wäre es mit:

>>> import psycopg2
>>> conn = psycopg2.connect("dbname='mydb' user='username' host='localhost' password='foobar'")
>>> cur = conn.cursor()
>>> cur.execute("select * from information_schema.tables where table_name=%s", ('mytable',))
>>> bool(cur.rowcount)
True

Eine Alternative, die EXISTS verwendet, ist insofern besser, als sie nicht erfordert, dass alle Zeilen abgerufen werden, sondern lediglich, dass mindestens eine solche Zeile existiert:

>>> cur.execute("select exists(select * from information_schema.tables where table_name=%s)", ('mytable',))
>>> cur.fetchone()[0]
True