Keine Ahnung von postgresql - ich brauche Hilfe!

Begonnen von betateilchen, 12 Mai 2014, 22:22:21

Vorheriges Thema - Nächstes Thema

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

@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.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

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'");
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

gerade noch mal auf der psql shell mit version 8.4.7 getestet und es geht.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!