Ich möchte eine meiner postGIS-Tabellen umbenennen. Wenn ich dies jedoch durch Anwenden eines einfachen
ALTER TABLE old_name RENAME TO new_name;
Die räumlichen Daten werden meines Wissens nicht mit dem neuen Namen aktualisiert. Erstens können diese Referenzen durch Ausführen der Funktion behoben werden:
SELECT probe_geometry_columns()
Ist der Tisch danach in Ordnung? Oder sollten auch andere Maßnahmen ergriffen werden? Zweitens, wie aktualisiere ich GeoServer, damit es diese neue Tabelle findet? Wenn ich jetzt die obigen Befehle ausführe und die Ebeneninformationen auf dem GeoServer so bearbeite, dass sie auf den neuen Namen verweisen ... wird immer noch eine Fehlermeldung angezeigt (GeoServer versucht immer noch, ihn unter dem alten Namen zu finden). Wo genau soll der Layername auf dem GeoServer geändert werden?
quelle
Not Found The requested URL /latest/en/user/restconfig/rest-config-api.html was not found on this server.
Beachten Sie, dass Sie in PostGIS 2.0+ nur das Normale tun müssen
Der Eintrag in der Ansicht geometr_columns (oder geography_columns) wird ebenfalls aktualisiert.
quelle
ist ein praktisches Dienstprogramm.
Erstens, wenn wir eine Geometriespalte an eine vorhandene Tabelle mit anhängen
Wir geben der Funktion alles, was sie benötigt, um die Spalte vom Typ Geometrie (geo_column) an die angegebene Tabelle (my_table) anzuheften, und schreiben die wichtigen Details wie SRID (1234), Geometrietyp (MULTIPOINT) und Anzahl der Dimensionen (2) an die Tabelle geometrische Spalten. Im Wesentlichen ist es ein ALTER und drei UPDATES.
Das Erstellen von Geometriespalten auf andere Weise (aus dem Shapefile geladen, in einer CREATE TABLE AS ausgewählt usw.) kann zu räumlichen Tabellen führen, die für externe Anwendungen unsichtbar sind, obwohl sie in der Datenbank einwandfrei funktionieren. Ohne die richtigen Details, die in geometrischen Spalten gespeichert sind, werden die tatsächlichen Geometriewerte für Anwendungen, die nach projizierten Punkten, Linien oder Polygonen suchen, als unsinnige Zeichenfolgen angezeigt.
Durch Aufrufen der Testfunktion wird jede Spalte vom Typ Geometrie überprüft, neue Werte zu geometrischen Spalten hinzugefügt und Konflikte gemeldet.
Um auf Ihre Frage zurückzukommen, glaubt GeoServer nicht, dass die umbenannte Tabelle räumliche Daten enthält, wenn sich die Namensänderung nicht in geometrischen Spalten widerspiegelt. Zu beachten ist außerdem, dass die Testfunktion einen doppelten Datensatz erstellt, der den neuen Tabellennamen widerspiegelt, den ursprünglichen Datensatz jedoch nicht entfernt - ein weiteres potenzielles Problem für GeoServer.
Alles in allem würde ich Ihnen vorschlagen: 1) Führen Sie die Sonde aus und löschen Sie sofort den alten Datensatz. oder 2) Folgen Sie Ihrer Namensänderung mit einem ALTER für geometrische Spalten, um den Wert für f_table_name zu ändern.
Entschuldigung für die Worthaftigkeit, aber ich hoffe es hilft.
quelle
Ich bin nicht sicher, was SELECT probe_geometry_columns () tut, aber Sie können die Tabelle geometr_columns leicht überprüfen, um festzustellen, ob Ihr neuer Tabellenname dort enthalten ist oder ob er immer noch auf den alten verweist.
Ich vermute, dass Sie den GeoServer-Speicher neu laden müssen, um sicherzustellen, dass er die Änderungen "bemerkt". Alternativ reicht ein Stopp und ein Start aus.
quelle