terça-feira, 2 de maio de 2017

COMENTÁRIOS NO POSTGRESQL

Comentar adequadamente um banco de dados é extremamente importante. Os comentários auxiliam principalmente na compreensão e documentação do conteúdo do banco de dados. No PostgreSQL usamos a seguinte sintaxe para comentários:

Comentário em uma tabela:
COMMENT ON TABLE nome_da_tabela IS 'comentário';

Para sobrepor um comentário basta executar a mesma instrução com o novo comentário. Se quiser  excluir um comentário pode usar:
COMMENT ON TABLE nome_da_tabela IS NULL;

Outros exemplos:
COMMENT ON COLUMN nome_da_tabela.nome_da_coluna IS 'Comentário';
COMMENT ON DATABASE nome_do_banco_de_dados IS 'Comentário';
COMMENT ON FUNCTION nome_da_função() IS 'Comentário';
COMMENT ON INDEX nome_do_índice IS 'Comentário';
COMMENT ON ROLE nome_do_papel IS 'Comentário';
COMMENT ON RULE nome_da_regra ON nome_da_tabela IS 'Comentário';
COMMENT ON SCHEMA nome_do_esquema IS 'Comentário';
COMMENT ON TRIGGER nome_da_trigger ON nome_da_tabela IS 'Comentário';
COMMENT ON TYPE nome_do_tipo IS 'Comentário';
COMMENT ON VIEW nome_da_visão IS 'Comentário';

sexta-feira, 21 de abril de 2017

ATRIBUIÇÃO DE ATIVIDADES A USUÁRIOS ESPECÍFICOS NO POSTGRESQL / POSTGIS

Uma atividade muito comum em Sistemas de Informação Geográfica é a atribuição de atividades específicas para usuários. Para definir níveis de permissões/operação para cada usuário dentro de uma mesma tabela no PostgreSQL / PostGIS devemos usar o conceito de POLICY (https://www.postgresql.org/docs/9.5/static/sql-createpolicy.html).

Vejamos o exemplo a seguir, onde é desejável que dois usuários de edição recebam atribuições específicas sobre a edição em uma tabela de "Lotes":

1) Criação dos usuários:
CREATE USER edicao1 LOGIN PASSWORD 'ed1';
CREATE USER edicao2 LOGIN PASSWORD 'ed2';

2) Criação do campo que vai receber o nome do usuário autorizado para edição:
ALTER TABLE lote ADD atribuicao VARCHAR(20);

3) Atribuição das quatro operações básicas aos usuários dentro da tabela de lotes:
GRANT SELECT,UPDATE,INSERT,DELETE ON lote TO edicao1;
GRANT SELECT,UPDATE,INSERT,DELETE ON lote TO edicao2;

4) Criação a regra de uso por usuário:
CREATE POLICY policy_atribuicao ON lote FOR ALL
TO PUBLIC USING (atribuicao = current_user);
ALTER TABLE lote ENABLE ROW LEVEL SECURITY;

Já podemos fazer a atribuição definindo o nome do usuário no campo atribuicao da tabela lote. Exemplo de atribuição:
UPDATE lote SET atribuicao = 'edicao1' WHERE id >= 1 AND id <= 100;
UPDATE lote SET atribuicao = 'edicao2' WHERE id >= 101 AND id <= 200;

Pronto. Nessa situação, quando um usuário (desenho1 ou desenho2) acessar o banco (inclusive por um software de SIG, como o QGIS, por exemplo), ele só terá acesso e possibilidade de edição nos registros que lhe estão atribuídos.

segunda-feira, 4 de julho de 2016

SELECIONAR E REINICIAR SEQUÊNCIAS (SEQUENCES) NO POSTGRESQL

Para selecionar as sequências do PostgreSQL basta usar o comando

SELECT * FROM information_schema.sequences;

Dentro dele podemos incluir algumas opções, de acordo com o resultado que queremos. Por exemplo:


  • Seleciona somente as sequências do schema public:
    • SELECT * FROM information_schema.sequences WHERE sequence_schema = 'public';
  • Seleciona apenas os nomes das sequências:
    • SELECT sequence_name FROM information_schema.sequences;

Para reiniciar uma sequência use o seguinte comando:

ALTER SEQUENCE nome_da_sequencia RESTART;

Finalmente, para atribuir os novos valores aos campos já existentes, use:

UPDATE nome_da_tabela SET coluna = nextval('nome_da_sequencia');


terça-feira, 8 de dezembro de 2015

ESPECIALIZAÇÃO EM GEOPROCESSAMENTO

Curso de especialização em Geoprocessamento Aplicado na FAAG com pré-inscrições abertas!


Especialização em Geoprocessamento pela FAAG com inscrições abertas!

quarta-feira, 21 de outubro de 2015

OBTENDO IMAGENS GEORREFERENCIADAS DO GOOGLE OU BING

O AutoGR-Toolkit é uma ferramenta muito interessante para a obtenção de imagens já georreferenciadas do Google ou Bing. A seguir, preparei um breve tutorial de como obter essas imagens:

  • Primeiro faça o download e instale o AutoGR-Toolkit, disponível em "http://www.ims.forth.gr/index_main.php?l=e&d=7&c=90";
  • Após a instalação, entre no programa e selecione a opção GGrab;
  • Vá em "Define your area of interest here [GBoundary]";
  • Vá em "Google Catcher";
  • Abra o Google Maps, encontre a área que você quer obter e copie o link (a própria URL);
  • Volte ao "Catch Coordinates from Google Map" e cole a URL copiada;
  • Defina o tamanho da área (em quilômetros) e clique em "Accept". Lembre-se que quanto maior a área, maior ficará o tamanho do arquivo;
  • Verifique na miniatura se a área desejada está correta (se não estiver, você pode ajustar manualmente as coordenadas ou ir novamente para o GBoundary para adequá-la);
  • Escolha a fonte (no caso do Brasil, pode-se optar pelo Google ou Bing);
  • Escolha o "Zoom level" (quanto maior, melhor será a resolução e maior será o tamanho do arquivo);
  • Defina o nome e o local de salvamento do arquivo;
  • Escolha o sistema de coordenadas (EPSG);
  • Clique em "Ready!" e espere o processo acabar.
Ao terminar o processo, você terá a imagem georreferenciada pronta para uso.

quinta-feira, 17 de setembro de 2015

GEOWEEK

A GeoWeek será um evento online no qual, durante uma semana, serão abordadas as novidades e os assuntos mais interessantes do Universo das Geotecnologias e Meio Ambiente.
O blog e a página Geografando do facebook apoiam esse evento! Participe! Mais informações em http://www.geoweek.net/

quinta-feira, 30 de julho de 2015

HABILITANDO O TIPO GEOMETRY NO POSTGRESQL/POSTGIS

Caso você esteja tentando executar uma instrução SQL para criação de tabela com elementos espaciais no PostgreSQL/PostGIS e tenha obtido o erro de que o tipo "geometria" - ou qualquer outro do PostGIS - não exista (ERROR: type "geometry" does not exist), isso se refere ao fato de elementos do PostGIS "não terem sido carregados" (o que pode ocorrer por diversos motivos).

A solução do problema é simples:

  • Entre no PGAdmin;
  • Conecte-se ao banco desejado;
  • Abra a janela de SQL e digite o comando "CREATE EXTENSION postgis;" e execute (F5).
Pronto, o seu banco de dados já está aceitando os tipos de dados do PostGIS.