Quero renomear uma das minhas tabelas postGIS. No entanto, quando faço isso aplicando uma simples
ALTER TABLE old_name RENAME TO new_name;
Os dados espaciais, como eu o entendo, não são atualizados com o novo nome. Primeiro, essas referências podem ser corrigidas executando a função:
SELECT probe_geometry_columns()
A tabela em si está boa depois disso? Ou outras medidas também devem ser tomadas? Segundo, como atualizo o GeoServer para encontrar essa nova tabela? A partir de agora, se eu executar os comandos acima e editar as informações da camada no GeoServer para apontar para o novo nome ... Ainda recebo um erro (o GeoServer ainda tenta encontrá-lo sob o nome antigo). Exatamente, onde o nome da camada deve ser alterado no GeoServer?
fonte
Not Found The requested URL /latest/en/user/restconfig/rest-config-api.html was not found on this server.
Observe que no PostGIS 2.0+, tudo o que você precisa fazer é o normal
A entrada na visualização geometry_columns (ou geography_columns) também será atualizada.
fonte
é um utilitário útil.
Primeiro, quando anexamos uma coluna geométrica a uma tabela existente com
estamos alimentando a função de tudo o que é necessário para fixar a coluna da geometria de tipo (geo_column) na tabela especificada (minha_tabela) e escrever os detalhes importantes como SRID (1234), tipo de geometria (MULTIPOINT) e número de dimensões (2) para a tabela geometry_columns. Em essência, é uma ALTER e três ATUALIZAÇÕES.
A criação de colunas de geometria por outros meios (carregados do shapefile, selecionados em CREATE TABLE AS, etc.) pode levar a tabelas espaciais invisíveis para aplicativos externos, embora funcionem perfeitamente no banco de dados. Sem os detalhes corretos armazenados em geometry_columns, os valores reais da geometria aparecem como cadeias de caracteres sem sentido para aplicativos que procuram pontos projetados, linhas ou polígonos.
A chamada da função de análise verifica cada coluna do tipo geometria, adicionando novos valores a geometry_columns e relatando conflitos.
Voltando à sua pergunta, o GeoServer não acredita que a tabela renomeada contenha dados espaciais se a mudança de nome não for refletida em geometry_columns. Outra coisa a considerar é que a função de análise cria um registro duplicado refletindo o novo nome da tabela, mas não se livra do registro original - outro possível problema para o GeoServer.
Tudo o que foi dito, sugiro que você: 1) execute o probe e exclua imediatamente o registro antigo; ou 2) acompanhe sua alteração de nome com um ALTER em geometry_columns para alterar o valor f_table_name.
Desculpe pela palavra, mas espero que ajude.
fonte
Não sei o que SELECT probe_geometry_columns () faz, mas você pode verificar facilmente a tabela geometry_columns para ver se o seu novo nome de tabela está lá ou se ainda está apontando para o antigo.
Suspeito que você precise recarregar o repositório GeoServer para garantir que "observe" as alterações. Alternativamente, uma parada e partida o fará.
fonte