Zugriff auf eine bestimmte Tabelle

Hallo,

im Rahmen meiner Bachelorarbeit benötige ich den Zugriff auf eine bestimmte Tabelle einer PostgreSQL Datenbank. Ich benutze dazu Knime. Ich kann zur Database connecten und kann auch die Metadaten aufrufen, allerdings finde ich die entsprechende Tabelle nicht. Die gesamte Datenbank wurde mit Hilfe eines anderen Programms angelegt. Kann es sein, dass bestimmte Tabellen verborgen sind oder gibt es noch andere Möglichkeiten um Zugriff auf einzelne Tabellen zu bekommen neben den Metadaten?

Vielen Dank und viele Grüße

Guten Morgen!

Ich hkenne Knime nicht und weiß nicht wie es funktioniert. Aber du kannst dich prinzipiell mit psql mit der Datenbank verbinden und schauen ob du so sehen kannst was du suchst. Oder du nutzt pgAdmin, das zeigt dir alles, auch wenn du nichts danmit tun darfst.

Gruß Uwe

Guten Morgen!

pgAdmin habe ich auch schon ausprobiert, ich finde die Tabelle einfach nicht… in der Software selber ist sie vorhanden, aber über externe Schnittstellen taucht sie nicht auf. Sitze da schon 3 Tage dran, diese Tabelle zu finden. Ohne sie komme ich nicht weiter. Wenn jemand noch einen Vorschlag hat, wäre ich ihm sehr verbunden.

Viele Grüße
Stefan

Möglicherweise steckt diese nicht im Public-Schema, sprich, Du suchst an der falschen Stelle. Schau mal in pg_class, da sollte sie sein. Was auch noch sein kann: Groß- Kleinschreibung. Per Default ist das egal, aber wenn Du anfängst, Tabellen mit großen Buchstaben zu erstellen (gequotet), dann mußt Du das beibehalten.

Nachtrag:

select c.relname, n.nspname from pg_class c left join pg_namespace n on c.relnamespace=n.oid where relname = ‘foo’ and relkind=‘r’;

Statt ‘foo’ den korrekten Namen der Tabelle, dann bekommst das Schema genannt.

Vielen Dank erstmal für die Hilfe. Leider kenne ich den Namen der Tabelle nicht. Die Tabelle ist Teil einer Software mit der ich arbeite. Ich habe mal die pgAdmin Ansicht hochgeladen. Sowohl die Tabellen unter PostgreSQL als auch unter Public bin ich alle durchgegangen und dort ist sie nicht zu finden.

http://img5.fotos-hochladen.net/uploads/postgrestbalex928g.jpg

Wenn Du den Namen der Tabelle nicht kennst, woher weißt Du dann, dass Du sie gefunden bzw. nicht gefunden hast?

Ich habe mich an den spalten orientiert und konnte die entsprechenden Spalten bei keiner Tabelle finden. Zudem müsste “Opponents” in dem Namen vorkommen

Und woher hast Du das mit dem “Opponents”? Könnte doch auch ein Tabellen-Alias sein:

select opponents.id
from some_table as opponents

Die Spaltennamen müssen nicht mit denen in der Anwendung übereinstimmen. Versuche doch einen Wert in der Anwendung zu ändern und suche dann die Tabelle wo er steht.

Danke für Eure Mühe. Kann da leider keine Werte ändern in der Anwendung… es sind ja auch nur 37 Tabellen, die ich mehrmals durchgesehen habe. Alleine die Anzahl der Spalten passt bei keiner Tabelle. Kann es sein, dass die Anwendung sich aus anderen Tabellen die Daten zieht und eine neue Tabelle generiert, die hier nicht zu sehen ist?
Hat vielleicht jemand kurz Zeit, sich das Ganze über Skype anzuschauen? Würde natürlich auch eine Aufwandsentschädigung zahlen.

Das ist alles zu schwammig. Tabellen entstehen auch als Resultat von Abfragen. Ich glaube, wir kommen hier nicht wirklich weiter, zumindest so.

Schraube das Loggin in PG so, daß Du alle ankommenden Abfragen siehst, nutze Deine Blackbox-Software und schaue, was so alles in das Log purzelt.
(z.B. via log_min_duration auf 0 setzen)

Ist es das da? https://www.knime.org/

Ich vermute, das zwischen deiner Anwendung und der Datenbank ein ORM liegt. Dann müssen deine Tabellen nicht unbedingt dem entsprechen was du siehst.
Aber dem Tip von akretschmer solltest du folgen. Versuche mal zu loggen, was da für SQL ausgeführt wird.

Gruß Uwe

Danke nochmal für Eure Hilfe, konnte es damit jetzt lösen!
Top! VG