Antecedentes: Estou "construindo" um GIS com o PostgreSQL 9.2.4 / PostGIS 2 como banco de dados e o QGIS 1.8.0 como aplicativo geográfico. Haverá vários usuários acessando, editando e visualizando os dados ao mesmo tempo.
Questão:
- A edição de versão é aplicada automaticamente no PostgreSQL 9.2.4 / PostGIS 2?
- É possível ativar / aplicar a edição de versão e, em caso afirmativo, como?
Eu dei uma olhada no pgVersion para PostgreSQL 9.2.4 / PostGIS 2 e no plugin pgVersion do QGIS. No entanto, se eu entendi direito (lendo os arquivos de ajuda e testando-os), o pgVersion permite apenas a edição de valores de células de colunas existentes e também nenhum novo recurso geográfico pode ser adicionado.
qgis
postgis
editing
versioning
PyMapr
fonte
fonte
Respostas:
Sim , parece que o PostgreSQL / PostGIS permite que vários usuários editem e visualizem os mesmos dados ao mesmo tempo automaticamente, sejam eles visualizados ou editados no PostgreSQL / PostGIS ou QGIS. No entanto, se não for gerenciado adequadamente, aparentemente, isso poderá resultar em sobreposição e / ou recursos corrompidos.
Aqui estão os links a partir dos quais tirei minhas conclusões:
Observe que as perguntas e respostas nos links acima foram feitas / respondidas há cerca de 5 anos, o que significa que apontam para versões anteriores do programa. No entanto, não consigo imaginar que as versões mais recentes do PostgreSQL / PostGIS não suportem a edição multiusuário (pode até ter sido aprimorada).
Atualização: para aqueles que usam o QGIS 1.8.0, na guia 'Tabela' no DB Manager, há uma opção de controle de versão. No entanto, continuo recebendo um erro informando que 'a linguagem "SQL" não existe.'. Alguma sugestão de como ignorar ou corrigir esse erro? Alguém mais tem o mesmo problema / erro?
fonte
Definitivamente sim, você pode fazer o controle de versão usando os gatilhos http://www.postgresql.org/docs/9.1/static/triggers.html em tabelas geográficas.
Eu uso essa abordagem para salvar dados temporais para que eu possa emitir consultas que criem uma captura instantânea de registros em um determinado momento.
A edição de versão não é imposta pelo que eu sei.
Sim, isso pode ser suportado. Haverá várias respostas com base nas necessidades do usuário. Você pode usar o http://www.pgadmin.org/docs/1.16/pgagent.html e agendar um trabalho para copiar dados ativos para a tabela com versão em uma janela diária como um exemplo simples.
Ou você pode usar uma tabela sombreada que registra edições de registros quando esses eventos acontecem.
O Postgresql possui todos os recursos necessários, mas você precisará de habilidades com a linguagem SQL.
fonte
Se você estiver usando o Qgis, existe um plugin para controle de versão usando um banco de dados postgres https://plugins.qgis.org/plugins/FastVersion/ O plugin também permite administrar permissões de usuário nas versões. Você pode definir um usuário por versão e consolidar as alterações em apenas uma versão, com a função de postagem.
fonte