Chcę zmienić nazwę jednej z moich tabel postGIS. Jednak kiedy to robię, stosując prosty
ALTER TABLE old_name RENAME TO new_name;
Rozumiem, że dane przestrzenne nie są aktualizowane o nową nazwę. Po pierwsze, czy te odniesienia można naprawić, uruchamiając funkcję:
SELECT probe_geometry_columns()
Czy po tym sam stół jest w porządku? Czy też należy podjąć inne środki? Po drugie, jak zaktualizować GeoServer, aby znalazł tę nową tabelę? Na razie, jeśli uruchomię powyższe polecenia i edytuję informacje o warstwie na GeoServer, aby wskazać nową nazwę ... Nadal pojawia się błąd (GeoServer nadal próbuje znaleźć go pod starą nazwą). Gdzie dokładnie należy zmienić nazwę warstwy w GeoServer?
źródło
Not Found The requested URL /latest/en/user/restconfig/rest-config-api.html was not found on this server.
Pamiętaj, że w PostGIS 2.0+ wszystko, co musisz zrobić, to normalne
Wpis w widoku geometry_columns (lub geography_columns) również zostanie zaktualizowany.
źródło
jest przydatnym narzędziem.
Po pierwsze, kiedy dołączamy kolumnę geometrii do istniejącej tabeli za pomocą
podajemy funkcję wszystko, czego potrzebuje, aby przyczepić kolumnę geometrii typu (kolumna geo) do określonej tabeli (moja_tabela) i zapisać ważne szczegóły, takie jak SRID (1234), typ geometrii (MULTIPOINT) i liczbę wymiarów (2), aby tabela geometry_columns. Zasadniczo jest to ZMIANA i trzy AKTUALIZACJE.
Tworzenie kolumn geometrii innymi sposobami (ładowanymi z pliku kształtu, wybranego w CREATE TABLE AS itp.) Może prowadzić do tabel przestrzennych, które są niewidoczne dla aplikacji zewnętrznych, chociaż działają dobrze w bazie danych. Bez odpowiednich szczegółów przechowywanych w geometry_columns rzeczywiste wartości geometrii pojawiają się jako nonsensowne ciągi znaków dla aplikacji szukających rzutowanych punktów, linii lub wielokątów.
Wywołanie funkcji sondy sprawdza każdą kolumnę geometrii typu, dodając nowe wartości do geometry_columns i zgłaszając konflikty.
Powracając do pytania, GeoServer nie wierzy, że tabela o zmienionej nazwie zawiera dane przestrzenne, jeśli zmiana nazwy nie zostanie odzwierciedlona w kolumnach geometria. Inną kwestią do rozważenia jest to, że funkcja sondy tworzy duplikat rekordu odzwierciedlający nazwę nowej tabeli, ale nie pozbywa się oryginalnego rekordu - kolejne potencjalne zawieszenie się GeoServera.
Powiedziawszy to, proponuję Ci: 1) uruchomić sondę, a następnie natychmiast usunąć stary zapis; lub 2) kontynuuj zmianę nazwy za pomocą ALTER na geometry_columns, aby zmienić wartość f_table_name.
Przepraszam za gadatliwość, ale mam nadzieję, że to pomoże.
źródło
Nie jestem pewien, co robi SELECT probe_geometry_columns (), ale możesz łatwo sprawdzić tabelę geometry_columns, aby sprawdzić, czy jest tam twoja nowa nazwa tabeli lub czy nadal wskazuje ona na starą.
Podejrzewam, że musisz przeładować sklep GeoServer, aby upewnić się, że „zauważa” zmiany. Alternatywnie zatrzyma się i uruchomi to.
źródło