Kann mir jemand, der Ahnung von postgresql hat, einen Tipp geben, wie ich abfragen kann, ob in einer Datenbank eine bestimmte Tabelle vorhanden ist? Ich weiss, dass es da einen Katalog gibt, aber keine Ahnung wie ich das abfragen muss.
Für sqlite und mysql hab ich die Aufgabe schon gelöst.
http://lmgtfy.com/?q=tabelle+in+postgresql+vorhanden
scnr
5. Link von oben :-)
bn
per shell oder per select?
in der psql shell mit \d
mit select auf pg_tables oder information_schema wenn die version neu genug ist.
gruss
andre
@Boris das ist nicht das, was ich suche ;) Trotzdem danke.
@Andre
ich dachte an sowas:
$ret = $fhem_dbh->selectrow_array("SELECT count(1) from pg_catalog.pg.tables where tablename = 'fhemfilesave'");
das müsste nach meinem Verständnis 1 zurückliefern, wenn es die Tabelle gibt, ansonsten 0.
ja. genau so.
aber in deinem beispiel ist zumindest noch ein . falsch pg_tables:$ret = $fhem_dbh->selectrow_array("SELECT count(1) from pg_catalog.pg_tables where tablename = 'fhemfilesave'");
gerade noch mal auf der psql shell mit version 8.4.7 getestet und es geht.
danke!