Atualmente, estou configurando uma nova instalação do PostGIS 2.0.2 e PostgreSQL 9.1.6 no Ubuntu. Recentemente, encontrei algumas informações indicando que o uso do esquema público para armazenar todos os dados não é uma boa ideia.
Por esse motivo, configurei um esquema chamado data e me tornei o proprietário, mas é uma boa ideia?
Minhas preocupações são:
- Além de definir o proprietário, talvez seja necessário prestar atenção às coisas na guia Privilégios ao criar esse novo esquema (por meio do pgAdmin III);
- Posso não obter os mesmos benefícios armazenando meus dados no esquema público e despejando todos os dados em um esquema separado antes de fazer um backup / restauração (isso economizaria algumas pressionamentos de tecla ao usar ogr2ogr); e
- Eu posso ter problemas por não ter as tabelas e visualizações PostGIS padrão no meu novo esquema de dados (elas estão no esquema público no mesmo banco de dados).
public
esquema. Essa outra pergunta é sobre a instalação dos objetos de extensão PostGIS em um esquema diferente depublic
. Estas são duas coisas diferentes!Respostas:
Agora isso é abordado no site oficial em uma página intitulada Mover a extensão PostGIS para um esquema diferente . O método correto é instalar a extensão no
public
. Esta é a única opção. A extensão não oferece mais suporte à realocação. O próximo passo é executar os seguintes comandos (copiados do site),fonte
data
esquema (elas estão nopublic
esquema no mesmo banco de dados)". Essa resposta é útil e é o que eu estava procurando, mas não está diretamente relacionada à pergunta.Quando você ativa espacialmente um banco de dados PostGIS, as funções relevantes, a tabela SRS e as visualizações são colocadas no esquema público, como você declara. Isso não significa que todas ou algumas de suas próprias tabelas espaciais precisam estar no mesmo esquema público. O PostGIS ainda funcionará em todos os dados espaciais nos "novos" esquemas.
De fato, geralmente coloco minhas tabelas específicas de aplicativos em um esquema separado. Dessa forma, se você precisar fazer uma atualização de versão principal para o PostGIS, poderá manter os backups e restaurações da tabela específica do aplicativo como um procedimento separado daquele que substitui as ferramentas espaciais.
Então, acho que você está indo bem. Por fim, caso você ainda não o tenha feito, é uma boa ideia adicionar o novo esquema ao caminho da pesquisa:
ALTER DATABASE my_db SET search_path = gc, public;
fonte
public
? Adicionando dados com por exemplo.shp2psql
paratest.table
ainda coloca os dados empublic
?Uma das estratégias organizacionais possíveis que você pode criar com esquemas é permitir que um usuário corra desenfreado em um esquema, mas não consiga estragar as coisas em outro. Portanto, se você deseja usar esquemas dessa maneira, isso pode ser feito na guia de privilégios do pgAdmin. Mas não é necessário que você faça isso; portanto, se você quiser apenas manter os mesmos privilégios em vários esquemas, tudo bem.
Com base nos artigos aos quais você vinculou, o problema de manter tudo em público é que, ao despejar dados, é provável que você misture tabelas e relacionamentos do sistema com seus dados. Se você mover todos os seus dados para um novo esquema, não precisará se preocupar com isso novamente.
Sem problemas. (Como prova, observe que você não precisa especificar public.spatial_ref_sys quando desejar pesquisar na tabela SRS.)
fonte
Uma dica adicional (talvez você já tenha se deparado com isso). Você provavelmente desejará adicionar o esquema "data" ao caminho de pesquisa padrão do usuário. Algo como:
Em relação ao seu ponto 2, às vezes você precisa restaurar quando não tem mais acesso ao banco de dados original. (Esse é um dos motivos dos backups ...), para que você não tenha a chance de mover seus dados para um esquema separado quando realmente precisar deles.
fonte
Usamos o esquema público para resultados temporários de análise / tabela de desenvolvimento e, em seguida, entramos em esquemas mais organizados (pastas?) Para uso permanente.
fonte