SELECT STATEMENT auf mehere Datenbanken absetzen

Hi zusammen,

ich würde gerne eine Abfrage starten.

Das Select Statement ist aber aus Daten aus unterschiedlichen Datenbanken angewiesen.

Die Abfrage (s.u.) beruht auf der Tatsache, dass zwei Datenbanken vorliegen “db1” und “db2”. Beide Datenbanken haben eine Tabelle “table”, die sich gleiche Werte aus Spalte “column” teilen.
Ich würde nun gerne mit dem SELECT Befehl alle gleichen Werte angezeigt bekommen. Jedoch funktioniert das Select statement nicht:

SELECT * FROM db1.table a, db2.table b WHERE a.column = b.column

Das Select statement liefert mir jedoch immer die Fehlermeldung:

ERROR: schema “db1” does not exists.


Wie muss der Select aussehen um die Daten aus den unterschielichen Datenbanken zu ziehen?

Danke!

Warum das? Also warum auf 2 Datenbanken? Sind die auch noch auf 2 Rechnern?
Kann es sein, daß Du MySQL-geschädigt bist?

Die Abfrage (s.u.) beruht auf der Tatsache, dass zwei Datenbanken vorliegen “db1” und “db2”. Beide Datenbanken haben eine Tabelle “table”, die sich gleiche Werte aus Spalte “column” teilen.
Ich würde nun gerne mit dem SELECT Befehl alle gleichen Werte angezeigt bekommen. Jedoch funktioniert das Select statement nicht:

Das geht so nicht. Brauchst Du wirklich Daten aus 2 getrennten Datenbanken, dann mußt Du das extern in der Applikation machen. Du kannst das indirekt hinbekommen, indem Du dblink (Extra Modul in contrib) vergewaltigst, aber das ist auch nur ein unschöner Hack.


SELECT * FROM db1.table a, db2.table b WHERE a.column = b.column

Das Select statement liefert mir jedoch immer die Fehlermeldung:

ERROR: schema “db1” does not exists.

Korrekt. Wir, also PostgreSQL und andere richtige RDBMS haben Schemas, und Schemas werden in dieser Form benutzt.
MySQL macht mal wieder alles anders als die Norm, daher auch meine Frage am Anfang. Möglicherweise willst Du aber statt unterschiedlicher Datenbanken einfach nur Schemas nutzen. In der Zukunft.



Andreas

Hi Andreas,

danke für deine Hilfe!

Nee bin nicht MySQL geschädigt, nutze seit klein auf PostgreSQL :slight_smile:
Da ich seit eh her meine Daten in eine Datenbank gesteckt habe bin ich bis jetzt auch noch nie mit dieser Problematik konfrontiert worden. Nun habe ich aber die Arbeitsstelle gewechselt und mein Admin !!oh graus!!, ich darf meine DBs noch nicht mal selber verwalten, hat ein dump der Datenbank versucht und ist kläglich gescheitert. Er meinte, es läge daran, dass die Datenbank über 10Gbyte groß wäre und wir das Problem nur umgehen könnten, wenn wir mehrere Kleine anlegen. Eine Diskussion war das zwecklos, nur ich sage soviel, wenn ich mich in mein Homeordner in der Domaine einlogge kann ich gemütlich in allen Homeverzeichnissen aller Nutzer rumspringen und auch wild Daten löschen =)

lange Rede kurzer Sinn …wie hacke ich das Ding “dblink”!!! :stuck_out_tongue:

…oje ich ahne jetzt auch schlimmes, das Modul “dblink” muss auf Seiten des Servers installiert sein. Oder reicht es aus wenn der Client es installiert hat? Bitte lass Letzters zutreffen, sonst sehe ich mich wieder in einem “ich der super admin” - “der user (quasi ich) weiß eh nix” gespräch :frowning:

http://www.postgresql.org/docs/faqs.FAQ.html#item4.17 bietet nicht sooo großen Aufschluss darüber!

Tja, wie sagte jetzt mal jemand im IRC: überfordert? Augen auf bei der Berufswahl!

lange Rede kurzer Sinn …wie hacke ich das Ding “dblink”!!! :stuck_out_tongue:

Mein dblink hier hat eine README dabei, Deine nicht?

12:01 < akretschmer> ??dblink
12:01 < rtfm_please> For information about dblink
12:01 < rtfm_please> see http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/dblink/
12:01 < rtfm_please> or http://pgfoundry.org/projects/dblink-tds/

Andreas

überfordert? …augen auf bei der berufswahl!

jap, zumindest in dem bereich datenbank-administration trifft das bei ihm zu :smiley:

hey aber dblink funktioniert tadellos! danke für den tip! und ja es ist auch eine ausreichende hilfe im modul enthalten.

gruß markus!

Hmm, ich kann euch ein Angebot über Datenbank Consulting machen :wink:

muha,

das ist sehr nett :slight_smile:

aber meine lokalen datenbanken wo ich selber admin bin funzen wunderbar :smiley:
Was aber die datenbank auf den firmenservern angeht, hmm ja da bräuchte mein admin vielleicht ein wenig unterstützung, … aber so direkt ihn das im gesicht sagen … nee

danke für eure hilfe und angebote =)