Edição de versão do Postgresql 9.2.4 / postGIS 2

8

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:

  1. A edição de versão é aplicada automaticamente no PostgreSQL 9.2.4 / PostGIS 2?
  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.

PyMapr
fonte
PostgreSQL usa Slony para a replicação ... Eu não tentei ainda, deve aplicar-se a PostGIS recursos, bem ...
DPSSpatial
3
Deseja oferecer suporte à edição de versão com algo semelhante ao ESRI ou apenas com vários editores editando o mesmo banco de dados? O último apenas funciona, o primeiro requer infraestrutura que ainda está sendo trabalhada na arena de código aberto. Eu próprio escrevi um sistema de versionamento sobre postgis para o nosso trabalho no AmigoCloud. O mais próximo que você chega de algo semelhante é o GeoGit, mas ele tem suas desvantagens para determinados fluxos de trabalho.
Ragi Yaser Burhum
Eu preferiria versões semelhantes às versões ESRI. No entanto, meu banco de dados será apenas um protótipo; portanto, por enquanto, apenas ter vários editores editando o mesmo banco de dados será adequado. Também dará uma olhada no GeoGit.
PyMapr 27/07/2013
Gostaria de saber se @PaulRamsey tem algo que eles possam comentar sobre esse assunto?
precisa saber é o seguinte
Ou possivelmente @ LR1234567 pode ter algumas idéias?
precisa saber é o seguinte

Respostas:

1

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?

PyMapr
fonte
1

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.

  1. A edição de versão não é imposta pelo que eu sei.

  2. 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.

cavila
fonte
1

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.

Alfredo Garcia
fonte