PostgreSQL/PostGIS und MapGuide OS

Hallo Wissende,

ich bin mir nicht mal sicher, ob ich hier im richtigen Forum bin. Aber ich versuche mein Glück. Folgende Situation:

Ich habe eine PostgreSQL-Datenbank (11.11) dazu das MapGuide OS (3.1.2.9484)
Ich habe in der Datenbank eine View. Diese View habe ich über den Postgres-FDO in MapGuide eingebunden. Die Daten werden angezeigt. So weit, so gut.

Es kann aber nach einer gewissen Zeit (Tag oder Stunden) sein, dass die Verbindung vom MapGuide zur Datenbank abbricht (Inhalte nicht mehr sichtbar). Aber nicht vollständig. Klicke ich im Maestro auf “Test Connection” steht dort True. Wähle ich dort aber Datastore, dann kann MapGuide nichts finden. Gebe ich dann das Passwort im Maestro neu ein, dann steht die Verbindung wieder vollständig. Alles wieder ok.

Das MapGuide Log sagt:

StackTrace:

  • MgMappingUtil.StylizeLayers() line 899 file c:\working\build_area\mapguide\3.1.2\x64\mgdev\server\src\services\mapping\MappingUtil.cpp
    <2021-03-25T08:46:04> 6300 MapGuide Maestro v6.0.0.270
    Error: An exception occurred in FDO component.
    RDBMS: FATAL: Passwort-Authentifizierung f? Benutzer ?ostgres?fehlgeschlagen

Hat jemand eine Idee?

Du kannst dich nicht einloggen, weil offenbar ein falsches Passwort verwendet wird. Keine Ahnung, ob das Encodng was damit zu tun hat…

Gruß Uwe

Hallo Uwe,

danke für deine Rückmeldung. Ja, das scheint mir auch so. Nur habe ich es eingetragen und es wird auch akzeptiert. Aber dann irgendwie so halb vergessen. Der Test funktioniert dann ja noch aber die Verbindung dennoch nicht ganz. Echt merkwürdig.

Gruß

Kannst du dich denn mit den Daten von der Konsole oder einem anderen Client einloggen?

Ja, mit diesen Daten kann ich mich in anderen Prgrammen einloggen. Kann es irgendein keepalive Problem sein?

Hallo, hier mal eine Meldung der betroffenen Verbindung. Test Connection ist True aber dennoch wird hier nichts angezeigt.

Blockquote
<2021-03-30T07:46:19> 7572 Anonymous
Error: Failed to stylize layer: Denkmal
An exception occurred in FDO component.
Error occurred in Feature Source (Library://Denkmal.FeatureSource): Class ‘public:v_denkmal’ not found (Cause: , Root Cause: Class ‘public:v_denkmal’ not found )
StackTrace:
MgMappingUtil.StylizeLayers() line 899 file c:\working\build_area\mapguide\3.1.2\x64\mgdev\server\src\services\mapping\MappingUtil.cpp

Alternativ muss ich ein MapGuide Forum suchen. Ich dachte nur, da es auch mit Postgres/Postgis zutun hat, dass hier vielleicht jemand etwas weiß.

Gruß

Das ist eine FDO-Fehlermeldung, das muss nichts mit Postgres zu tun haben. Ist den der Doppelpunkt bei ‘public:v_denkmal’ korrekt?

Das ist eine gute Frage. Diese Schreibweise kommt ja aus der Fehlermeldung. Mein Problem ist ja, dass der Layer angezeigt wird aber irgendwann die Verbindung verliert. Trage ich in der Datenverbindung dann das Passwort neu ein und speichere diese neu ab, ist auch alles wieder da. Ich vermute fast, dass die Darstellung das Problem ist.

Die Tablle für die Daten werden per ogr_fdw (ODBC von einer mssql) geholt und in einer Materialized View zusammengebaut.

Die Geometrie wird so erstellt:

st_setsrid(st_makepoint(to_number(b.rechtswert::text, ‘999999999D999’::text)::double precision, to_number(b.hochwert::text, ‘999999999D999’::text)::double precision), 25832)::geometry(Point,25832) AS geom

Index habe ich so erstellt:

CREATE INDEX mv_denkmal_idx
ON mv_denkmal
USING GIST (GEOM);

In der Datenbank kscheint auch alles zu passen.

Das sieht jetzt mal aus PostGIS- und FDW-Sicht ganz ok aus, und es scheint ja auch zeitweise zu funktionieren. Ich würde mal vermuten, das dir da die Verbindung ein Bein stellt.

Schöne Ostern!

Hallo gibt es hier noch weitere Ideen. Jeden Morgen muss ich die Feature Source neu speichern, damit es wieder läuft. Öffnen und speichern reicht schon.

Ich habe Postgres FDO schon aktualisiert. Eine neuere Version war verfügbar. Ohne Erfolg. Andere Feature Source auf die Postgres bleiben stabil.

Gruß

Ich würde hier auf ein Verbindungs-/Timeout_problem tippen. Als harten Workaround könntest du erstmal das einloggen etc. skripten und das jede Stunde oder so laufen lassen. Wenn das möglich ist. Die Datenbanklogik scheint ja zu funktionieren.

Gruß Uwe

Hallo Uwe,

das klingt gut, nur wie kann man das speichern einer Feature source in MapGuide skripten?

Gruß Steve

PorstgreSQL ist wahrscheinlich die schlechteste Lösung für Ihr Problem. Sie könnten etwas mehr Standard versuchen

Why? What is the best solution? What is the “Standard”?

So ein Blödsinn. Es gibt kaum eine relationale Datenbank die enger am Standard ist.

Das meine ich doch auch. Vermute hier aber auch eher ein sprachlichen Fehler.

Hier mal ein paar Updates. Die PostgreSQL habe ich auf die 12.6 angehoben. Den Postgres-Provider für MapGuide OS gab es auch noch aktueller. Leider ohne Erfolg. Ich denke es hat mit MapGuide OS zutun oder mit der Abfrage selbst bzw. den Foreign Tables.

Bei einer Abfrage erhalte ich folgende Meldung:
“Received a non-implicit relabel expression but did not handle it”
Die Abfrage wird aber erfolgreich ausgeführt. Was kann diese Warnung bedeuten?

Kennt jemand eine gute Anlaufstelle für Frage rund um MapGuideOS?

Ich habe festgestellt, dass wärend der Abfrage einer Materialized View eine Warnung kommt:

Received a non-implicit relabel expression but did not handle it

Kann diese jemand einordnen? Google gibt da erschreckend wenig her. Die Abfrage wird aber erfolgreich durchgeführt.

Gruß

So, den Inhalt der Mv mal in eine Tabelle importiert. Das gleiche Spiel. Die Verbindung in MapGuide OS ist instabile. Bin Ratlos.