Я хочу переименовать одну из моих таблиц postGIS. Тем не менее, когда я делаю это, применяя простой
ALTER TABLE old_name RENAME TO new_name;
Пространственные данные, насколько я понимаю, не обновляются с новым именем. Во-первых, можно ли исправить эти ссылки, запустив функцию:
SELECT probe_geometry_columns()
После этого сама таблица в порядке? Или должны быть приняты и другие меры? Во-вторых, как мне обновить GeoServer, чтобы он нашел эту новую таблицу? На данный момент, если я запускаю вышеуказанные команды и редактирую информацию слоя на GeoServer, чтобы указать новое имя ... Я все еще получаю сообщение об ошибке (GeoServer все еще пытается найти его под старым именем). Где именно следует изменить имя слоя на GeoServer?
Not Found The requested URL /latest/en/user/restconfig/rest-config-api.html was not found on this server.
Обратите внимание, что в PostGIS 2.0+ все, что вам нужно сделать, это нормально
Запись в представлении geometry_columns (или geography_columns) также будет обновлена.
источник
это удобная утилита
Во-первых, когда мы добавляем столбец геометрии к существующей таблице с
мы передаем функции все, что ей нужно, чтобы привязать столбец типа geometry (geo_column) к указанной таблице (my_table) и записать важные детали, такие как SRID (1234), тип геометрии (MULTIPOINT) и количество измерений (2), в таблица geometry_columns. По сути, это ALTER и три ОБНОВЛЕНИЯ.
Создание геометрических столбцов другими средствами (загруженными из шейп-файла, выбранными в CREATE TABLE AS и т. Д.) Может привести к появлению пространственных таблиц, которые не будут видны внешним приложениям, хотя они отлично работают в базе данных. Без правильных деталей, сохраненных в geometry_columns, фактические значения геометрии отображаются как бессмысленные символьные строки для приложений, которые ищут проецируемые точки, линии или многоугольники.
Вызов функции-зонда проверяет каждый столбец типа geometry, добавляет новые значения в geometry_columns и сообщает о конфликтах.
Возвращаясь к вашему вопросу, GeoServer не верит, что переименованная таблица содержит пространственные данные, если изменение имени не отражено в geometry_columns. Еще нужно учесть, что функция зонда создает дублирующую запись, отражающую имя новой таблицы, но не избавляется от исходной записи - еще одно потенциальное зависание для GeoServer.
Все сказанное я бы посоветовал вам: 1) запустить зонд и сразу же удалить старую запись; или 2) проследите за изменением вашего имени с помощью ALTER для geometry_columns, чтобы изменить значение f_table_name.
Извините за многословность, но я надеюсь, что это поможет.
источник
Я не уверен, что делает SELECT probe_geometry_columns (), но вы можете легко проверить таблицу geometry_columns, чтобы увидеть, есть ли там имя вашей новой таблицы или оно все еще указывает на старое.
Я подозреваю, что вам необходимо перезагрузить хранилище GeoServer, чтобы убедиться, что оно «замечает» изменения. Или остановка и запуск сделают это.
источник