[pgbr-geral] TRIGGER a disparar só com base num atributo
Olá pessoal, Alguém sabe se é possível implementar um trigger que dispara com um UPDATE mas só num determinado campo? versão do postgresql: 9.1.4 Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] TRIGGER a disparar só com base num atributo
Em 17-01-2013 12:35, Anselmo Silva escreveu: na trigger coloque UPDATE OF [COLUNA] (irá disparar apenas se for atualizado essa coluna) Obrigado Anselmo. E se forem várias colunas?Devo separar por virgulas? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] TRIGGER a disparar só com base num atributo
Obrigado pessoal! Em 17-01-2013 14:07, Thiago Oliveira escreveu: Basta separar por vírgulas como mostra na documentação do Postgres http://www.postgresql.org/docs/9.1/static/sql-createtrigger.html Em 17 de janeiro de 2013 11:56, Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt escreveu: Em 17-01-2013 12:35, Anselmo Silva escreveu: na trigger coloque UPDATE OF [COLUNA] (irá disparar apenas se for atualizado essa coluna) Obrigado Anselmo. E se forem várias colunas?Devo separar por virgulas? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- *_Thiago Oliveira_* *_Bacharel em Sistemas de Informação - _**_Universidade Federal da Paraíba_* *_Administrador de Dados - Projeto SIM_* _http://br.linkedin.com/in/tjsoliveira_ *(83) 8600-7901* * * ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] PostGis
Experimente colocar 'LATIN1' Em 13-12-2012 23:42, Jonnathann Silva Finizola escreveu: sim, tem a opção DBF file character encoding é pra colocar o que lá? Em 13 de dezembro de 2012 20:56, Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt escreveu: Olá, Em 13-12-2012 22:33, Jonnathann Silva Finizola escreveu: Na interface do postgis mesmo? Em options tem a opção do encoding ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] PostGis
Olá, Em 13-12-2012 22:33, Jonnathann Silva Finizola escreveu: Na interface do postgis mesmo? Em options tem a opção do encoding ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] trigger quando a tabela não tem valores nulos
Olá Osvaldo, Estava a tentar assim: CREATE OR REPLACE FUNCTION Atribuir_Niveis_Acessibilidade () RETURNS void AS $$ BEGIN PERFORM esta_actua FROM passeios WHERE esta_actua IS NULL; IF FOUND THEN ELSE UPDATE INSERT ... ENDIF; END $$ LANGUAGE 'plpgsql'; Mas obtenho o seguinte erro: fim de definição da função inesperado no fim da entrada... Alguém sabe o que tenho de colocar a seguir ao ELSE para, no caso de ele encontrar valores nulos, não fazer nada? Obrigado Em 18-09-2012 18:31, Osvaldo Kussama escreveu: Em 18/09/12, Pedro Costapedrocostaa...@sapo.pt escreveu: Obrigado pessoal. Vou tentar fazer tudo com na função Em 18-09-2012 15:25, Marcone escreveu: if((new ou old).coluna is not null) Estou a perceber mal ou podemos ver, de uma só vez , se uma coluna é nula? Quero dizer, se uma coluna não tiver nenhum registo nulo é considerada não nula? Verifique se é isto que deseja. Dentro da função você pode contar quantos registros de sua tabela tem o campo nulo: PERFORM seu_campo FROM sua_tabela WHERE seu_campo IS NULL; IF FOUND THEN -- tem registros com o campo nulo ELSE -- não tem registros em que o campo seja nulo ENDIF; Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] trigger quando a tabela não tem valores nulos
Desculpe-me a confusão OsvaldoO meu problema é o erro que obtenho ao criar a função.. Experimentei colocar um ';' no fim do endif e do end mas não funciona. Retorna o erro: erro de sintaxe em ou próximo a ENDIF Como termina a minha função: OR n_rua IN (SELECT n_rua FROM ruas WHERE dec_percen 12) OR n_passeio IN (SELECT passeio FROM escadas)); ENDIF END; $$ LANGUAGE 'plpgsql'; ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] trigger quando a tabela não tem valores nulos
Olá pessoal, Existe alguma maneira de executar uma função quando uma coluna de uma determinada tabela não tem valores nulos? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] trigger quando a tabela não tem valores nulos
Obrigado pessoal. Vou tentar fazer tudo com na função Em 18-09-2012 15:25, Marcone escreveu: if((new ou old).coluna is not null) Estou a perceber mal ou podemos ver, de uma só vez , se uma coluna é nula? Quero dizer, se uma coluna não tiver nenhum registo nulo é considerada não nula? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] trigger quando a tabela não tem valores nulos
Em 18-09-2012 15:36, Marcone escreveu: Não é bem isso. O que eu quiz dizer é que você irá testar a coluna, se ela não for nula sua função fará algo. Mais isso aplica-se somente à ação e a tupla (linha) que disparou a trigger, não para toda tabela. Ok obrigado. Provavelmente a melhor maneira é fazer um count de valores nulos...Se o valor retornado for 0 então executo o que pretendo, estou a pensar bem? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] trigger quando a tabela não tem valores nulos
Alguém sabe como executar uma função quando não existem campos nulos? Em 18-09-2012 15:24, Flavio Henrique Araque Gurgel escreveu: On 18-09-2012 11:13, Pedro Costa wrote: Olá pessoal, Existe alguma maneira de executar uma função quando uma coluna de uma determinada tabela não tem valores nulos? Os gatilhos (triggers) são baseados em eventos. É necessário acontecer algo (um INSERT, DELETE ou UPDATE) para o gatilho ser disparado. Uma função pode ser chamada por usuário ou aplicação sem necessidade de um evento. Aí sua função (que pode ser função de gatilho) pode verificar se uma coluna for nula, e fazer alguma coisa. []s __ Flavio Henrique A. Gurgel Líder de Projetos Especiais Consultoria, Projetos Treinamentos 4LINUX Tel1: +55-11.2125-4747 ou 2125-4748 www.4linux.com.br email: fla...@4linux.com.br __ FREE SOFTWARE SOLUTIONS ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] modelo físico
Olá pessoal, Estou a fazer um trabalho da universidade na qual desenvolvi uma base de dados em postgresql/postgis. Apresentei no manual o modelo conceptual que desenhei com o dia (na altura alguém aqui na lista deu-me essa dica). Agora estou a 'tratar de explicar o modelo físico'. A minha questão é se alguém tem ideia sobre a melhor maneira de o apresentar? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] selecionar primeira linha
Olá pessoal, Eu tenho uma tabela com uma ordem que não quero perder. Existe maneira de selecionar apenas o conteudo de uma coluna da primeira linha? Experimentei usar o LIMIT1 mas o postgresql não vai buscar o primeiro registo. Podem ajudar? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] selecionar primeira linha
Em 31-07-2012 14:57, Vinicius Santos escreveu: O limit trabalha depois do ORDER BY. Ou seja, primeiro os registros são classificados para depois serem limitados. Mas eu estou a usar sem o 'order by'. A ordem que tenho é de insercção na tabela, não diz respeito a uma ordem alfabética ou numérica... ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] selecionar primeira linha
Ok pessoal obrigado. Já tinha lido em livros sobre bases de dados relacionais que a ordem das linhas nada sgnifica mas decidi à mesma perguntar. O problema é que estou a usar o pgrouting e ele devolve o percurso por ordem. Com esse resultado crio uma tabela e pretendia pegar o nome da primeira rua... Em 31-07-2012 15:01, Euler Taveira escreveu: On 31-07-2012 10:51, Pedro Costa wrote: Eu tenho uma tabela com uma ordem que não quero perder. Existe maneira de selecionar apenas o conteudo de uma coluna da primeira linha? O SGBD *não* garante que a ordem de inserção será a ordem de retorno. Isso vem do conceito de relações (aka conjuntos). Para garantir a ordem você precisa utilizar a cláusula ORDER BY. Experimentei usar o LIMIT1 mas o postgresql não vai buscar o primeiro registo. Como? SELECT c1 FROM foo LIMIT 1? Prevendo a ordem: SELECT c1 FROM foo ORDER BY c2 LIMIT 1 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] performance
Olá pessoal, Eu tenho no gabinete um servidor com postgres e postgis instalado que acessamos via qgis. Será que podiam aconselhar algumas dicas sobre como melhorar a performance? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] query erro alias
Olá pessoal, Estou a tentar fazer uma query como esta: select the_geom from (SELECT the_geom FROM arcos JOIN ( SELECT * FROM shortest_path(' SELECT id2 as id, source::int4 AS source, target::int4 AS target, length*estado_actual.custo AS cost FROM arcos, estado_actual where arcos.estado_a = estado_actual.id_ea', 438,489,false,false)) AS rota ON arcos.id2 = rota.edge_id) using unique id2 Mas devolve-me o seguinte erro: ERROR: subquery in FROM must have an alias LINE 4: (SELECT the_geom Será que podem ajudar a resolver? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] query erro alias
Obrigado pessoal.. Já entendi... fiz isto: select rota2.the_geom, rota2.id from (SELECT id, the_geom FROM arcos JOIN (SELECT * FROM shortest_path(' SELECT id2 as id, source::int4 AS source, target::int4 AS target, length*estado_actual.custo AS cost FROM arcos, estado_actual where arcos.estado_a = estado_actual.id_ea', 438,489,false,false)) AS rota ON arcos.id2 = rota.edge_id) AS rota2 using unique id Sem o using funciona mas com o using obtenho o seguinte erro: ERROR: syntax error at or near using LINE 27: using unique id Em 26-06-2012 17:50, Jean Domingues escreveu: coloque a sua subquery entre parenteses, e coloque um alias, assim: select sub.campo from (select campo from tabela) as sub; *De:* Pedro Costa pedrocostaa...@sapo.pt *Para:* Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br *Enviadas:* Terça-feira, 26 de Junho de 2012 13:12 *Assunto:* [pgbr-geral] query erro alias Olá pessoal, Estou a tentar fazer uma query como esta: select the_geom from (SELECT the_geom FROM arcos JOIN ( SELECT * FROM shortest_path(' SELECT id2 as id, source::int4 AS source, target::int4 AS target, length*estado_actual.custo AS cost FROM arcos, estado_actual where arcos.estado_a = estado_actual.id_ea', 438,489,false,false)) AS rota ON arcos.id2 = rota.edge_id) using unique id2 Mas devolve-me o seguinte erro: ERROR: subquery in FROM must have an alias LINE 4: (SELECT the_geom Será que podem ajudar a resolver? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] query erro alias
Em 26-06-2012 18:32, Osvaldo Kussama escreveu: Não entendi o unique na cláusula using. É necessário para o Mapserver ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] compatibilidade
Olá pessoal, Podem dar-me umas dicas se o Windows 2008 R2, STD é compatível com o postgresql 9 e postgis 2.0? Obrigado Abraço ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] (sem assunto)
Adicionar um tipo: alter table teste add column id serial Em 18-06-2012 13:47, Aguiar Magalhaes escreveu: Pessoal, Preciso colocar uma chave primária automática em uma tabela já populada. Nenhum campo desta tabela é um bom candidato para ser uma chave primária. Como devo fazer ? Grato Aguiar ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Obrigado Dickson, muito útil Vai dar jeito... Abraço Em 04-06-2012 17:34, Dickson S. Guedes escreveu: Em 4 de junho de 2012 06:42, Pedro Costapedrocostaa...@sapo.pt escreveu: Olá pessoal, Eu tenho um servidor ubuntu com uma base em postgres. Pretendia importar um ficheiro .csv e tentei assim: copy nomes_mu from '/var/www/nomes_mu.csv' WITH CSV DELIMITER ';' Mas ele não consegue encontrar o ficheiro ou directoria apesar de eu o copiar para lá. A minha pergunta é o seguinte, qual é o directório que a base 'considera como raiz' para eu poder indicar-lhe o caminho correcto? Olá Pedro, Apenas complementando o tópico, demonstrei, em um screencast [1], alguns exemplo de como utilizar o comando COPY e o \copy. Talvez te dê outras alternativas também. [1] http://pgcasts.com/2011/10/23/dicas-de-uso-do-comando-copy-no-postgresql/ []s ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] importar csv
Olá pessoal, Eu tenho um servidor ubuntu com uma base em postgres. Pretendia importar um ficheiro .csv e tentei assim: copy nomes_mu from '/var/www/nomes_mu.csv' WITH CSV DELIMITER ';' Mas ele não consegue encontrar o ficheiro ou directoria apesar de eu o copiar para lá. A minha pergunta é o seguinte, qual é o directório que a base 'considera como raiz' para eu poder indicar-lhe o caminho correcto? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Em 04-06-2012 11:04, Matheus de Oliveira escreveu: você pode colocá-lo, por exemplo, no '/tmp/' ou então dar um chmod: Obrigado Matheus, copiei para tmp e ele foi buscar... Abraço ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] SQL para consultar diferença entre registros
Alessandro penso que seja isto o que pretende: select produtos from produtos where produtos not in (select produtos from lista) Em 30-05-2012 15:19, Alessandro Lima escreveu: Paulo, esta consulta não me retorna nada, pois não tenho o registro 3 na base. select * from produtos where codigo not in (1,2,3) Alessandro Lima Em 30 de maio de 2012 11:10, Paulo Vitor Bettini de Albuqerque Lima paulovitor...@gmail.com mailto:paulovitor...@gmail.com escreveu: select * from produtos where codigo not in (1,2,3) Atenciosamente, Paulo Vitor Bettini de Albuquerque Lima http://about.me/paulolima Em 30 de maio de 2012 11:08, Alessandro Lima grandegoia...@gmail.com mailto:grandegoia...@gmail.com escreveu: Bom dia a todos, Gostaria de uma ajuda para criar uma consulta que me retorne codigos que não estejam mais em uma tabela. Exemplo: tenho uma tabela de produto com dois produtos: codigonome 1produto A 2produto B Tendo um lista (1,2,3) gostaria de saber quais os produtos que estão nesta lista e não estejam cadastrados na tabela ou seja, gostaria que o resultado fosse 3. Tipo: select codigo from (1,2,3) where codigo not in (select codigo from produto) Alessandro Lima ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Divulgação - Webcast Tutorial 4Linux
Eu já me inscrevi :-) Disponibilizam certificado digital? Em 19-04-2012 19:29, Jonas Loss escreveu: Está com o link quebrado. Jonas Loss i-Pensare - Maker Center - RS 51 8526 0606 http://www.i-pensare.com.br Transformando idéias em soluções digitais. Em 19 de abril de 2012 11:57, Flavio Henrique Araque Gurgel fla...@4linux.com.br mailto:fla...@4linux.com.br escreveu: Pessoal, divulgando aqui um Webcast que estarei apresentando semana que vem. Detalhes abaixo. Todos estão convidados, é gratuito e on-line. []s 4Linux realiza o Webcast Tutorial: Por que PostgreSQL? A 4Linux realizará na próxima segunda-feira, dia 23 de abril de 2012 às 16h (horário de Brasília), mais uma edição do Webcast. Desta vez o tema será o PostgreSQL, o banco de dados livre mais utilizado no mundo. Quem ainda tem dúvidas de qual banco de dados utilizar no seu ambiente, poder participar deste webcast e tirar dúvidas como: Quando usar o PostgreSQL Quais as vantagens sobre o Oracle e MySQL Quem usa o PostgreSQL em produção, quem está feliz Tipos de cargas de dados Suporte PostgreSQL, com quem contar Ferramentas, extensões Durante a apresentação serão respondidas perguntas sobre o PostgreSQL como: PostgreSQL tem replicação nativa? PostgreSQL funciona em cluster? Por que a gente nunca ouve falar de PostgreSQL em missão crítica? Existe certificação PostgreSQL? O PostgreSQL faz multi master? Qual empresa é dona do PostgreSQL? As inscrições são gratuitas. Inscreva-se e receba o link de acesso. http://www.4linux.com.br/inscricoes/webcast-tutorial-que-postgresql-inscricao.html Para acompanhar ao vivo o webcast, você precisa estar conectado a internet banda larga, desktop com kit multimídia instalado e Flash Player versão 10, instalado e habilitado. Serão 15 minutos e apresentação e 15 minutos para responder perguntas dos participantes. Mais informações no site: http://www.4linux.com.br/noticias/2012/webcast-tutorial-que-postgresql.html -- Flavio Henrique A. Gurgel Consultor e Instrutor 4Linux Tel: +55-11-2125-4747 tel:%2B55-11-2125-4747 www.4linux.com.br http://www.4linux.com.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] case com alter table
Pessoal, É possível usar o case com um alter table? Tipo assim: alter table rua case n_rua exists (SELECT attname FROM pg_attribute WHERE attrelid = (SELECT oid FROM pg_class WHERE relname = 'ruas') AND attname = 'n_rua') then add column largura double precision,add column tipologia text,add column declive double precision else alter table ruas add column n_rua integer, Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] case com alter table
Obrigado Fábio. Já desconfiava. Abraço Em 17-04-2012 13:23, Fabiano Abreu escreveu: /Olá Pedro./ / / /Creio que isto não seja possível, observando a documentação do PostgreSQL tal condição não é prevista, imagino que em nenhum banco de dados./ / / /Mas com isto, não posso afirmar que não é possível, talvez seja, de uma forma desconhecida./ / / http://www.postgresql.org/docs/8.1/static/sql-altertable.html / /Atenciosamente _ _ /*Fabiano Abreu*/ /Papo Sql http://paposql.blogspot.com - Um blog com tutoriais, dicas e truques sobre Sql / 2012/4/17 Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt Pessoal, É possível usar o case com um alter table? Tipo assim: alter table rua case n_rua exists (SELECT attname FROM pg_attribute WHERE attrelid = (SELECT oid FROM pg_class WHERE relname = 'ruas') AND attname = 'n_rua') then add column largura double precision,add column tipologia text,add column declive double precision else alter table ruas add column n_rua integer, Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] percentagens
Pessoal este update retorna apenas números inteiros apesar de o campo percentagem ser double precision: update estacionamento set percentagem = ((select count (n_passeio) from passeios where estacionamt =4)*100)/(select count(n_passeio)from passeios) where classe like '4'; Já experimentei também com numeric e não resulta, podem ajudar? obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] percentagens
Obrigado Irineu Resultou. Podes dizer-me o que fazem os dois pontos? Obrigado Em 03-04-2012 12:02, Irineu escreveu: Em 03/04/2012 07:25, Pedro Costa escreveu: Pessoal este update retorna apenas números inteiros apesar de o campo percentagem ser double precision: update estacionamento set percentagem = ((select count (n_passeio) from passeios where estacionamt =4)*100)/(select count(n_passeio)from passeios) where classe like '4'; tente o seguinte: update estacionamento set percentagem = ((select count (n_passeio) from passeios where estacionamt =4)::numeric*100)/(select count(n_passeio)from passeios)::numeric where classe like '4'; ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] st_makeline
On 15-03-2012 23:58, Matheus Ricardo Espanhol wrote: Poderia enviar a estrutura e exemplos dos dados das tabelas envolvidas? sim claro.obrigado pode descarregar aqui: http://www.crocko.com/049EC3495CA94D5490503A8B92FA23D0/exemplo.tar.gz ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] grant all
Olá pessoal, Estou a tentar dar acesso a uma base de dados assim: grant all on database teste to group utilizadores Mas não resulta, fico sem acesso as tabelas. Tenho de fazer tabela a tabela? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] grant all
Obrigado Flavio. Tinha criado um pequeno script mas assim facilita mais :-) Resolvido :-) Em 14-03-2012 21:52, Flavio Henrique Araque Gurgel escreveu: Estou a tentar dar acesso a uma base de dados assim: grant all on database teste to group utilizadores Você deu todas as permissões ao banco de dados (teste) para o papel indicado.(utilizadores). Mas não resulta, fico sem acesso as tabelas. Então você tem de dar permissões às tabelas, não ao banco de dados como fizeste. Tenho de fazer tabela a tabela? Até a versão 8.4 sim, tabelinha por tabelinha. Um script pode te ajudar :) A partir da versão 9.0 você pode dar direitos a todas as tabelas no esquema. Ficou infinitamente mais fácil. Veja a documentação do GRANT para ver sua sintaxe, mas adianto que seria assim (9.0 ou superior e supondo que todas as tabelas estejam no esquema padrão): GRANT ALL ON ALL TABLES IN SCHEMA public TO utilizadores; []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] st_makeline
Olá pessoal, Tenho duas tabelas: pontos e passeios. O que pretendia era com o st_makeline criar uma nova tabela de linhas com base nos pontos que partilhem a mesma rua. Como existem vários pontos com a mesma rua, queria limitar a criação das linhas apenas a dois pontos, usando o order com st_distance e o limit 1. Alguém tem ideia como formular a query? segue uma imagem para perceberem.Os números são os números de rua e as linhas a vermelho as que quero criar. Obrigado attachment: cortar linhas com pontos.png___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] ajuda com update
Bom dia, Podiam ajudar no seguinte update: Eu tenho uma tabela elementos com um campo orçamento e uma tabela passeios com um campo também chamado orçamento. Queria preencher o campo orçamento das ruas com a soma do orçamento dos elementos mais a soma de orçamento dos passeios. A tabela elementos tem muitos elementos por cada rua e a tabela passeios tem dois passeios por cada rua. Tentei da seguinte maneira: update ruas set orcamento = (elementos.orcamento + passeios.orcamento) from elementos, passeios where ruas.n_rua = elementos.rua and ruas.n_rua = passeios.n_rua Mas nos casos em que a tabela passeios tem o campo orçamento a 0 o das ruas fica também a 0, apesar de os elementos terem orçamento maior que 0 Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] ajuda com update
Resolvi fazendo primeiro as somas para duas tabelas novas e depois efectuei a soma... obrigado Em 06-03-2012 12:06, Pedro Costa escreveu: Bom dia, Podiam ajudar no seguinte update: Eu tenho uma tabela elementos com um campo orçamento e uma tabela passeios com um campo também chamado orçamento. Queria preencher o campo orçamento das ruas com a soma do orçamento dos elementos mais a soma de orçamento dos passeios. A tabela elementos tem muitos elementos por cada rua e a tabela passeios tem dois passeios por cada rua. Tentei da seguinte maneira: update ruas set orcamento = (elementos.orcamento + passeios.orcamento) from elementos, passeios where ruas.n_rua = elementos.rua and ruas.n_rua = passeios.n_rua Mas nos casos em que a tabela passeios tem o campo orçamento a 0 o das ruas fica também a 0, apesar de os elementos terem orçamento maior que 0 Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] importar csv
Pessoal, Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Tentei assim, e já não deu erro de não encontrar o ficheiro, apenas de não ter permissão (isto no pg admin) Estou a tentar no psql com o utilizador default (postgres) mas não acontece nada. Tentei assim: copy codigos_elementos from 'C:\Users\PDCC\Desktop\codigos_elementos.csv' using delimiters ',' Tenho de colocar algo como ; no final? obrigado Em 05-03-2012 14:25, Flavio Henrique Araque Gurgel escreveu: Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Faz tempo que não uso Windows, mas... não seria: c:\Users\SEU_USUARIO\Desktop... ? Lembrando que o usuário do PostgreSQL (normalmente postgres) tem que ter direitos de acesso ao arquivo e pasta. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Diz-me que não tenho permissão. Como a posso dar? Em 05-03-2012 14:11, Pedro Costa escreveu: Pessoal, Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Consegui superar a falta de permissão colando o ficheiro na pasta temp, no entanto, agora obtenho sempre este erro: missing data for column Tentei das seguintes maneiras: copy codigos_elementos from 'C:\Users\TEMP\codigos.csv' WITH CSV copy codigos_elementos from 'C:\Users\TEMP\codigos.csv' using delimiters ',' Podem ajudar? Em 05-03-2012 14:11, Pedro Costa escreveu: Pessoal, Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Nos dois casos existem apenas dois campos. O ficheiro é tipo isto: codigo;Nome 1A;Rebaixamento 120 1B;Rebaixamento barca 1C;Rebaixamento com depressão no passeio 1D;Outros rebaixamentos 1E;Inexistência de rebaixamento para peões 1F;Passeio nivelado com a via - Passadeira sobrelevada 2A;Rebaixamento para veículos 20/40/60 A tabela é assim: CREATE TABLE codigos_elementos ( codigo text, nome text ) WITH ( OIDS=FALSE ); Em 05-03-2012 15:12, Guimarães Faria Corcete DUTRA, Leandro escreveu: 2012/3/5 Pedro Costapedrocostaa...@sapo.pt: missing data for column […] Podem ajudar? Não conhecemos nem o arquivo, nem a relação alvo. O erro significa que há mais atributos (obrigatórios) na relação que no arquivo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Este não é opensource pois não? Alguém conhece algum aberto ? (se existir para windows e ubuntumelhor) Obrigado Em 05-03-2012 16:13, Kévio Castro escreveu: Não sofra, use algum software para importar. Use http://www.sqlmanager.net/products/postgresql/manager faz muito bem. exel, cvs, txt, Em 5 de março de 2012 12:01, Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt escreveu: Consegui superar a falta de permissão colando o ficheiro na pasta temp, no entanto, agora obtenho sempre este erro: missing data for column Tentei das seguintes maneiras: copy codigos_elementos from 'C:\Users\TEMP\codigos.csv' WITH CSV copy codigos_elementos from 'C:\Users\TEMP\codigos.csv' using delimiters ',' Podem ajudar? Em 05-03-2012 14:11, Pedro Costa escreveu: Pessoal, Estou a tentar importar uma tabela csv para a minha base de dados. Tentei pelo pg_admin e por psql mas diz que nunca encontra o ficheiro. Podem dizer-me qual é a directoria home no windows? Tentei assim: copy codigos_elementos from '\Users\Desktop\codigos_elementos.csv' using delimiters ',' Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Kévio Castro (62) 9959-6192 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Em 05-03-2012 16:14, Flavio Henrique Araque Gurgel escreveu: Cara, CSV tem que ser*limpinho* e*exatamente* como vai pra tabela. Senão o PostgreSQL não aceita de jeito nenhum. Percebido. :-) Resultou:-) Obrigado amigo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] importar csv
Em 05-03-2012 16:21, Flavio Henrique Araque Gurgel escreveu: Ou, siga as dicas que o povo já te deu e leia a documentação. Tenho lido bastante sobre o Postgresql mas ainda estou muito verde Obrigado pelas dicas e ajuda... abraço ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] modelo conceptual (Fabiano Fernandes)
Em 27-02-2012 12:41, Fabiano Fernandes escreveu: Eu sempre utilizo o DIA, simples, prático e OPEN SOURCE. Obrigado Fabiano...Já estive a experimentar e parece bastante bom, sendo Open Source, melhor... Abraço ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] modelo conceptual
Pessoal, Tenho de fazer um modelo conceptual para apresentar, alguém conhece uma ferramenta intuitiva e poderosa para tal? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] tipos de dados
Em 01-02-2012 18:27, Guimarães Faria Corcete DUTRA, Leandro escreveu: o decimal e numeric não funcionam Funcionam, sim. Como testaste, e que resultados obtiveste? Tenho a última versão. Tentei alter table ruas add column numeric (2,2) Mas depois diz que não podem ser números superiores a um... ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] limitar registos máximos num só update
Em 01-02-2012 03:24, Leandro escreveu: Pelo menos instrui eles a colocar esses updates em uma transação. Pois no final eles podem dar um commit para efetivar ou um rollback para desfazer tudo. Pode indicar algum link com informação sobre isso? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] limitar registos máximos num só update
Obrigado Flavio. Vou estudar. So uma pegunta e possivel implementar uma solucao desse genero mesmo que usemos como terminal o qgis? abraço Em 01-02-2012 10:43, Flavio Henrique Araque Gurgel escreveu: Pelo menos instrui eles a colocar esses updates em uma transação. Pois no final eles podem dar um commit para efetivar ou um rollback para desfazer tudo. Pode indicar algum link com informação sobre isso? http://www.postgresql.org/docs/current/static/tutorial-transactions.html []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] tipos de dados
Já agora, eu tenho campos double precision e quero que o número de casa decimais sejam duas, é possível restringir? Ou que tipo de dados tem de ser? Experimentei numeric e decimal mas só funciona com números inferiores a 1... Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] tipos de dados
Em 01-02-2012 16:09, Guimarães Faria Corcete DUTRA, Leandro escreveu: restringir entrada, armazenamento ou saída? Armazenamento e saída ou apenas saída ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] tipos de dados
Sim mas qual?como limito o double precision?o decimal e numeric não funcionam Em 01-02-2012 16:28, Guimarães Faria Corcete DUTRA, Leandro escreveu: 2012/2/1 Pedro Costapedrocostaa...@sapo.pt: Em 01-02-2012 16:09, Guimarães Faria Corcete DUTRA, Leandro escreveu: restringir entrada, armazenamento ou saída? Armazenamento e saída ou apenas saída Então usa um tipo de dado adequado… ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] limitar registos máximos num só update
Pessoal, Existe maneira de limitar o número de actualizações possíveis de uma só vez? O género de uma constraint que impeça o utilizador de realizar um update sobre 200 registos ou mais, em simultâneo? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] limitar registos máximos num só update
Obrigado pela resposta Flavio. O que se passa é que já por duas vezes dois utilizadores, através do QuantumGis, enganaram-se e, em vez de actualizarem apenas os registos seleccionados, realizaram o update sobre tudo Alguém tem uma ideia de como contrariar este tipo de situações? Em 31-01-2012 19:25, Flavio Henrique Araque Gurgel escreveu: Existe maneira de limitar o número de actualizações possíveis de uma só vez? O género de uma constraint que impeça o utilizador de realizar um update sobre 200 registos ou mais, em simultâneo? Uma limitação dessas iria 100% contra a especificação de bancos de dados relacionais. Suas soluções são (de cabeça, agora, alguém pode ter mais idéias): - criar chaves estrangeiras para a tabela, limitando as possibilidades do usuário; - criar uma função chamada por um gatilho disparado pelo UPDATE, mas isso teria uma penalidade de desempenho terrível. Mas uma pulga atrás de minha orelha me pede para perguntar: Por que você precisa limitar desta forma? O que realmente você quer fazer? []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] limitar registos máximos num só update
Não é possível limitar quando crio um utilizador? Ou seja, um utilizador está impedido de realizar um update com actualizações superiores a 200 registos de uma só vez... Em 31-01-2012 19:35, Flavio Henrique Araque Gurgel escreveu: O que se passa é que já por duas vezes dois utilizadores, através do QuantumGis, enganaram-se e, em vez de actualizarem apenas os registos seleccionados, realizaram o update sobre tudo Alguém tem uma ideia de como contrariar este tipo de situações? Uma idéia é utilizar backup pela estratégia PITR que te permite restaurar imediatamente antes de um usuário cometer uma dessas. Limitar, via SGBD, quantas linhas podem ser alteradas, não dá. O ideal seria ajustar modelo de dados e aplicação de forma a limitar o que o usuário consegue fazer. Mas, uma vez que você usa um software pronto, no seu caso o Quantum GIS, acho que isso pode ser impossível/caro demais de fazer. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] constraint
Pessoal eu tenho a seguinte constraint que segue em baixo. É possível que, em caso de erro, saibamos qual o campo que dá erro, ou mais informações acerca do mesmo? Porque só dá o nome da constraint em questão e muitas vezes perde-se muito tempo para descobrirmos o erro... Obrigado ALTER TABLE elementos ADD CONSTRAINT elementos_mal_inseridos CHECK ( (cod='29e' and localizacao = 0 and desenho = 0) or (cod='1e' and localizacao = 0 and desenho = 0) or (cod='8' and localizacao = 1 and desenho = 1) or (cod='40' and localizacao = 1 and desenho = 1 and m2 is not null and m2 0 and ml is null) or (cod='42' and localizacao = 1 and desenho = 1) or (cod='43' and localizacao = 1 and desenho = 1 and ml is not null and ml 0 and m2 is null) or (cod='49' and localizacao = 1 and desenho = 1 and m2 is not null and m2 0 and ml is null) or (cod='50' and localizacao = 1 and desenho = 1) or (cod='52' and localizacao = 1 and desenho = 1) or (cod='7' and localizacao IN (1,2) and desenho IN (1,2) and m2 is not null and m2 0 and ml is null) or (cod='29' and localizacao IN (1,2) and desenho IN (1,2) and ml is not null and ml 0 and m2 is null) or (cod='30' and localizacao IN (1,2) and desenho IN (1,2) and ml is not null and ml 0 and m2 is null) or (cod='1a' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1b' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1c' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1d' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1f' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2a' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2b' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2c' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='3' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='4' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='5' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='9' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='10' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='11' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='12' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='13' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='14' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='15' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='16' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='17' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='18' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='19' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='20' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='21' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='22' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='23' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='24' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='25' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='26' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='27' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='28' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='31' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='32' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='33' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='34' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='35' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='36' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='37' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='39' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='41' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='44' and localizacao IN (1,2) and desenho = 1) or (cod='45' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='46' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='47' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='48' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='51' and localizacao IN (1,2) and desenho IN (1,2))) ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] constraint
Em 30-01-2012 12:16, Flavio Henrique Araque Gurgel escreveu: Como ela é composta de vários or, então você pode criar uma restrição para cada linha da sua original, com nomes diferentes. É possível uma restrição para cada linha? Se eu digo que o 'cod' tem de ser Y, depois já não vou poder adicionar outra que pode ser X, ou estou errado? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] constraint
Sem problema, mas eu ao fazer um trigger a ideia é que ele verifica se cumpre os requisitos através do check? e como ele dá a resposta do erro mais pormenorizadamente? Sou um bocado leigo Obrigado Em 30-01-2012 12:25, Flavio Henrique Araque Gurgel escreveu: Como ela é composta de vários or, então você pode criar uma restrição para cada linha da sua original, com nomes diferentes. É possível uma restrição para cada linha? Se eu digo que o 'cod' tem de ser Y, depois já não vou poder adicionar outra que pode ser X, ou estou errado? Desculpe, fiz uma confusão absurda. Várias restrições se comportam como lógica E e não OU. Todas tem de ser verdadeiras. Portando, minha idéia de várias restrições pode complicar sua vida. Melhor ficar com a idéia do gatilho mesmo. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] constraint
será que podia só dar mais umas dicas sobre a função? Obrigado Em 30-01-2012 12:54, Flavio Henrique Araque Gurgel escreveu: Sem problema, mas eu ao fazer um trigger a ideia é que ele verifica se cumpre os requisitos através do check? Você mantém suas restrições normalmente. e como ele dá a resposta do erro mais pormenorizadamente? O gatilho chama uma função que checa seus dados antes de irem pra tabela. Sou um bocado leigo Então você terá de estudar um pouco sobre gatilhos e funções no PostgreSQL pra fazer o que estou sugerindo. Se tiver urgência, talvez tenha de contratar ajuda. []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] dúvida constraint
Pessoal eu quero adicionar algo do género: alter table passeios add constraint rua_inexistente FOREIGN KEY (rua) REFERENCES ruas (rua) No entanto, quero fazer isto sem ser com chaves estrangeiras ou primárias, é possível? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] dúvida constraint
Quero que não sejam introduzidas números errados na coluna rua da tabela elementos. Só podem ser inseridos números de rua presentes na coluna rua da tabela ruas. Em 27-01-2012 10:50, JotaComm escreveu: Olá, Em 27 de janeiro de 2012 08:39, Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt escreveu: Pessoal eu quero adicionar algo do género: alter table passeios add constraint rua_inexistente FOREIGN KEY (rua) REFERENCES ruas (rua) No entanto, quero fazer isto sem ser com chaves estrangeiras ou primárias, é possível? Qual o seu objetivo? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Abraços -- JotaComm http://jotacomm.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] dúvida constraint
O problema é que a coluna rua não é chave-primária na tabela ruas percebem? Em 27-01-2012 10:55, Flavio Henrique Araque Gurgel escreveu: Quero que não sejam introduzidas números errados na coluna rua da tabela elementos. Só podem ser inseridos números de rua presentes na coluna rua da tabela ruas. Mas este é justamente o conceito de chave estrangeira. Por que chaves estrangeiras não são uma boa idéia para você? []s Flavio Gurgel ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] dúvida constraint
Em 27-01-2012 11:04, JotaComm escreveu: É só colocar um índice único nesta coluna. Podia explicar pormenorizadamente ou dar um exemplo? obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] dúvida constraint
Em 27-01-2012 11:29, Osvaldo Kussama escreveu: O campo rua da tabela ruas não precisa ser a chave primária mas não pode ter duplicatas. Sim, mas depois como é a sintaxe da constraint? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] pgAdmin não abre ferramenta sql
Eu tenho o pgadmin instalado em win 64 bits e funciona pelo menos em conexões para outros servidores Em 25-01-2012 15:13, Fernando de Oliveira escreveu: De acordo com esse link, não tem opção para win 64. http://www.postgresql.org/ftp/pgadmin3/release/v1.14.0/ Seria o pgAdmin incompatível com win 7 64bits? abs, Fernando Date: Wed, 25 Jan 2012 11:41:57 -0200 From: vinicius.santos.li...@gmail.com To: pgbr-geral@listas.postgresql.org.br Subject: Re: [pgbr-geral] pgAdmin não abre ferramenta sql Em 25 de janeiro de 2012 11:32, Fernando de Oliveira fdoturmal...@hotmail.com mailto:fdoturmal...@hotmail.com escreveu: Bom dia a todos! A ferramenta SQL do pgAdmin da minha instalação no windows 7 64 bits, parou de abrir. Quando peço para abrir, todo o pgAdmin trava. Alguém mais está co esse problema? Qual a versão do pgAdmin? Desinstale apenas ele e remova as chaves gravadas no registro por ele. Tenho notado uma instabilidade nessa última versão. Provavelmente é um bug, mas eu ainda não consegui encontrar. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] backup automático
eu queria apenas um back de toda a base de dados, não dos logs...Não dá para fazer tipo com aqueles triggers do pgadmin? Obrigado Em 11-01-2012 19:51, Leonardo Cezar escreveu: 2012/1/11 Pedro Costapedrocostaa...@sapo.pt: Uma maneira de fazer disparar um trigger de X em X alterações numa tabela ou de X em X inserções e que faça backup de toda a base de dados Talvez vc queira trabalhar com gatilhos em uma linguagem /untrusted/. Veja a documentação sobre plperl ou plpython. Por outro lado, talvez vc queira simplesmente configurar o arquivamento de logs de transações. Leia sobre WAL na documentação. -Leo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] backup automático
também pode ser de X em X tempo mas não é com linux, como posso fazer no windows? Não existe maneira de fazer backup por exemplo sempre que alguém inserir 10 registos novos, entendeu agora? Obrigado Em 12-01-2012 20:12, Danilo Silva escreveu: Você quer fazer backup da base de X em X tempo? se for isso, agende a execução do pg_dump no crontab (se for linux) ou ative a cópia dos arquivos WAL, caso contrário, não entendi também? Danilo 2012/1/12 Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt eu queria apenas um back de toda a base de dados, não dos logs...Não dá para fazer tipo com aqueles triggers do pgadmin? Obrigado Em 11-01-2012 19:51, Leonardo Cezar escreveu: 2012/1/11 Pedro Costapedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt: Uma maneira de fazer disparar um trigger de X em X alterações numa tabela ou de X em X inserções e que faça backup de toda a base de dados Talvez vc queira trabalhar com gatilhos em uma linguagem /untrusted/. Veja a documentação sobre plperl ou plpython. Por outro lado, talvez vc queira simplesmente configurar o arquivamento de logs de transações. Leia sobre WAL na documentação. -Leo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] dúvida clausula where
Pessoal eu tenho a seguinte consulta: SELECT n_rua, count(n_rua) as Ruas_repetidas FROM ruas GROUP BY ruas.n_rua; E agora quero que apareça só as ruas com o campo do count maior que um. Podem dizer-me onde insiro a clausula where? Dá-me sempre erro, não reconhece o campo ruas_repetidas'. Obrigado pedro costa ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] dúvida clausula where
Em 11-01-2012 17:36, Paulo Vitor Bettini de Albuqerque Lima escreveu: having count(n_rua) 1 Resolvido. Muito obrigado amigo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] backup automático
Pessoal alguém conhece uma maneira de fazer disparar um backup para o ambiente de trabalho automaticamente? Este trigger poderia disparar, por exemplo, de X em X registos de uma determinada tabela. Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição ao actualizar
Mesmo assim não deixa. Tenho a ultima versao. Erro: ERRO: CHECK constraints cannot be marked NOT VALID Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 27-11-2011 15:19, Osvaldo Kussama escreveu: Em 27/11/11, Pedro Costapedrocostaa...@sapo.pt escreveu: tentei assim: ALTER TABLE passeios ADD CHECK ( esta_teste= 0 and esta_teste 13 ) NOT VALID; Mas dá erro. alguém sabe porquê? ERROR: syntax error at or near NOT LINE 1: ALTER TABLE passeios ADD CHECK ( esta_teste= 0) NOT VALID; ^ ** Erro ** ERROR: syntax error at or near NOT Estado de SQL:42601 Carácter:51 Você não informou qual versão do PostgreSQL está utilizando. A opção NOT VALID só é válida a partir da versão 9.1. [1] [2] Osvaldo [1] http://www.postgresql.org/docs/current/interactive/sql-altertable.html [2] http://www.postgresql.org/docs/current/interactive/release-9-1.html (E.2.3.4.2. CREATE/ALTER TABLE) ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição ao actualizar
tentei assim: ALTER TABLE passeios ADD CHECK ( esta_teste = 0 and esta_teste 13 ) NOT VALID; Mas dá erro. alguém sabe porquê? ERROR: syntax error at or near NOT LINE 1: ALTER TABLE passeios ADD CHECK ( esta_teste = 0) NOT VALID; ^ ** Erro ** ERROR: syntax error at or near NOT Estado de SQL:42601 Carácter:51 On 25-11-2011 11:42, Marcal Hokama wrote: Obrigado Marcal. Será que podes dizer-me o terceiro link que deves ter-te esquecido? Numa acção de actualização a constraint funciona? Podes dizer-me como aplico? Obrigado Olá Pedro, Já havia enviado o [3] num post anterior, mas segue abaixo: [2] http://www.depesz.com/index.php/2011/07/01/waiting-for-9-2-not-valid-checks/ [3] http://developer.postgresql.org/pgdocs/postgres/sql-altertable.html Em [3], bem como no [2] do post anterior, há a sintaxe como utilizar o NOT VALID. Segue um exemplo listado em [2]: ALTER TABLE test ADD CHECK ( field= 0 ) NOT VALID; A constraint vale para todas as operações de inserção e atualização posteriores ao comando. Atenciosamente, Marçal de Lima Hokama - ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição ao actualizar
Obrigado Marcal. Será que podes dizer-me o terceiro link que deves ter-te esquecido? Numa acção de actualização a constraint funciona? Podes dizer-me como aplico? Obrigado On 25-11-2011 01:40, Marcal Hokama wrote: Olá pessoal, Podem ajudar no seguinte, eu tenho uma tabela espacial com varias colunas e quero implementar umas restrições ao preencher. No entanto, não posso implementar uma restrição normal porque os registos já estão lá, só quero é que, ao actualizar, o campo X só possa ser por exemplo entre 1 e 12. Se tentar uma restrição normal em que o campo X não pode ser Y nem sequer me deixa implementar porque os registos de lá estão todos a null, só vão ser actualizados depois. Olá Pedro, Se entendi a sua situação, você quer criar uma check constraint na sua tabela, que não faça a validação dos dados já existentes. No SGDB Oracle, seria a opção NOVALIDATE [1]. No PostgreSQL 9.2, pelo que vi em [2] e [3], há uma opção com finalidade semelhante: NOT VALID. [1] http://docs.oracle.com/cd/B28359_01/server.111/b28310/general005.htm [2] http://www.depesz.com/index.php/2011/07/01/waiting-for-9-2-not-valid-checks/ Atenciosamente, Marçal de Lima Hokama -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] restrição ao actualizar
Olá pessoal, Podem ajudar no seguinte, eu tenho uma tabela espacial com varias colunas e quero implementar umas restrições ao preencher. No entanto, não posso implementar uma restrição normal porque os registos já estão lá, só quero é que, ao actualizar, o campo X só possa ser por exemplo entre 1 e 12. Se tentar uma restrição normal em que o campo X não pode ser Y nem sequer me deixa implementar porque os registos de lá estão todos a null, só vão ser actualizados depois. Obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] vários nomes numa restrição
Olá pessoal, Alguém sabe se e possivel dar varios nomes a mesma restricção consoane o tipo de erro? A restrição que tenho é a que segue em baixo e eu queria dar um aviso diferente consoante o erro. Obrigado restrição: ALTER TABLE elementos ADD CONSTRAINT elementos_mal_inseridos CHECK ( (cod='29e' and localizacao = 0 and desenho = 0) or (cod='1e' and localizacao = 0 and desenho = 0) or (cod='8' and localizacao = 1 and desenho = 1) or (cod='40' and localizacao = 1 and desenho = 1 and m2 is not null and m2 0 and ml is null) or (cod='42' and localizacao = 1 and desenho = 1) or (cod='43' and localizacao = 1 and desenho = 1 and ml is not null and ml 0 and m2 is null) or (cod='49' and localizacao = 1 and desenho = 1 and m2 is not null and m2 0 and ml is null) or (cod='50' and localizacao = 1 and desenho = 1) or (cod='52' and localizacao = 1 and desenho = 1) or (cod='7' and localizacao IN (1,2) and desenho IN (1,2) and m2 is not null and m2 0 and ml is null) or (cod='29' and localizacao IN (1,2) and desenho IN (1,2) and ml is not null and ml 0 and m2 is null) or (cod='30' and localizacao IN (1,2) and desenho IN (1,2) and ml is not null and ml 0 and m2 is null) or (cod='1a' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1b' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1c' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1d' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1f' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2a' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2b' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2c' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='3' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='4' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='5' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='9' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='10' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='11' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='12' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='13' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='14' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='15' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='16' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='17' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='18' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='19' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='20' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='21' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='22' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='23' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='24' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='25' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='26' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='27' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='28' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='31' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='32' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='33' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='34' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='35' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='36' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='37' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='39' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='41' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='44' and localizacao IN (1,2) and desenho = 1) or (cod='45' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='46' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='47' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='48' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='51' and localizacao IN (1,2) and desenho IN (1,2))) -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] vários nomes numa restrição
Obrigado. A segunda parece-me melhor mas o que queres dizer com sua_pl_de_validacao? É o nome que pretendo dar? E (aka RAISE EXCEPTION)? É que sou leigo ainda... obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 14-11-2011 15:19, Fabrízio de Royes Mello escreveu: Em 14 de novembro de 2011 12:58, Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt escreveu: Olá pessoal, Alguém sabe se e possivel dar varios nomes a mesma restricção consoane o tipo de erro? A restrição que tenho é a que segue em baixo e eu queria dar um aviso diferente consoante o erro. corte Eu vejo 2 (duas) formas de você implementar o que precisas: 1) Substituir essa CHECK por uma TRIGGER gerando as exceções de acordo com a validação desejada 2) Implementar uma PL que gere as exceções de acordo com sua validação e adicionar esta em sua CHECK, Ex: ALTER TABLE elementos ADD CONSTRAINT elementos_mal_inseridos CHECK(sua_pl_de_validacao(cod, localizacao, desenho) IS TRUE); Obs: a segunda solução nunca usei em produção, mas acredito que funcione adequadamente se vc levantar as devidas exceções no código (aka RAISE EXCEPTION). Cordialmente, -- Fabrízio de Royes Mello Consultoria/Coaching PostgreSQL Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello Twitter: http://twitter.com/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] update com trigger
Olá pessoal, Queria colocar a seguinte dúvida, eu quero criar uma trigger que execute sempre que são inseridos novos registos numa tabela. A função desta será executar um update preenchendo dois campos com base em distâncias (st_distance). A minha dúvida é o seguinte, quando o update for executado vai ser sempre sobre todos os registos da tabela ou apenas dos criados naquele momento? Obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Então aqui vai: Para os elementos: create table elementos (ID serial PRIMARY KEY, cod text not null, desenho integer not null, localizacao integer not null,rua integer not null, passeio integer not null ); SELECT AddGeometryColumn('elementos', 'wkb_geometry', 27492, 'POINT', 2 ); alter table elementos add column ml double precision; alter table elementos add column m2 double precision; alter table elementos add column largura double precision; alter table elementos add column cobertor double precision; alter table elementos add column espelho double precision; alter table elementos add column focinho double precision; alter table elementos add column corrimao integer; alter table elementos add column degraus integer; alter table elementos add column lancos integer; alter table elementos add column comprimento double precision; alter table elementos add column inclinacao double precision; Para as ruas e para os passeios eu importo de shapefile apenas com dois campos e adiciono estes: alter table passeios add column esta_actua integer; alter table passeios add column estacionamt integer; alter table passeios add column n_rua integer; alter table passeios add column n_passeio serial; alter table ruas add column largura double precision; alter table ruas add column tipologia text; alter table ruas add column declive double precision; alter table ruas add column n_rua serial; Obrigado On 06-11-2011 23:36, Leandro Guimarães Faria Corcete DUTRA wrote: Le 2011-N-6 21h12, Pedro Costa a écrit : Será que posso mandar um backup da base que fiz com o pgadmin?Ou como deseja que envie para analisar? Basta mandar para a lista os CREATE TABLE relevantes, com eventuais ALTER TABLE… ADD CONSTRAINTs. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] restrição
ALém disso adiciono também as seguintes restrições: Para os elementos: ALTER TABLE elementos ADD CONSTRAINT cod_elementos CHECK ( (cod='29e' and localizacao = 0 and desenho = 0) or (cod='1e' and localizacao = 0 and desenho = 0) or (cod='8' and localizacao = 1 and desenho = 1) or (cod='40' and localizacao = 1 and desenho = 1 and m2 is not null and m2 0 and ml is null) or (cod='42' and localizacao = 1 and desenho = 1) or (cod='43' and localizacao = 1 and desenho = 1 and ml is not null and ml 0 and m2 is null) or (cod='49' and localizacao = 1 and desenho = 1 and m2 is not null and m2 0 and ml is null) or (cod='50' and localizacao = 1 and desenho = 1) or (cod='52' and localizacao = 1 and desenho = 1) or (cod='7' and localizacao IN (1,2) and desenho IN (1,2) and m2 is not null and m2 0 and ml is null) or (cod='29' and localizacao IN (1,2) and desenho IN (1,2) and ml is not null and ml 0 and m2 is null) or (cod='30' and localizacao IN (1,2) and desenho IN (1,2) and ml is not null and ml 0 and m2 is null) or (cod='1a' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1b' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1c' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1d' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='1f' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2a' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2b' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='2c' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='3' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='4' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='5' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='9' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='10' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='11' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='12' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='13' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='14' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='15' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='16' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='17' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='18' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='19' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='20' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='21' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='22' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='23' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='24' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='25' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='26' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='27' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='28' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='31' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='32' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='33' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='34' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='35' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='36' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='37' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='39' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='41' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='44' and localizacao IN (1,2) and desenho = 1) or (cod='45' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='46' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='47' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='48' and localizacao IN (1,2) and desenho IN (1,2)) or (cod='51' and localizacao IN (1,2) and desenho IN (1,2))) #restrições para os passeios ALTER TABLE passeios ADD CONSTRAINT esta_actua CHECK ( (esta_actua IN (1,2,3,4,5,6,7,8,9,10,11,12))) ALTER TABLE passeios ADD CONSTRAINT estacionamento CHECK ( (estacionamt IN (1,2,3,4))) Obrigado On 07-11-2011 09:17, Pedro Costa wrote: Então aqui vai: Para os elementos: create table elementos (ID serial PRIMARY KEY, cod text not null, desenho integer not null, localizacao integer not null,rua integer not null, passeio integer not null ); SELECT AddGeometryColumn('elementos', 'wkb_geometry', 27492, 'POINT', 2 ); alter table elementos add column ml double precision; alter table elementos add column m2 double precision; alter table elementos add column largura double precision; alter table elementos add column cobertor double precision; alter table elementos add column espelho double precision; alter table elementos add column focinho double precision; alter table elementos add column corrimao integer; alter table elementos add column degraus integer; alter table elementos add column lancos integer; alter table
Re: [pgbr-geral] restrição
Obrigado Osvaldo. Vou experimentar. Caro Bruno, como já disse as tabelas são resultado da importação de shapefiles. Obrigado a todos Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 07-11-2011 20:15, Osvaldo Kussama escreveu: Em 6 de novembro de 2011 11:08, Pedro Costapedrocostaa...@sapo.pt escreveu: Pessoal obrigado por ajudarem mas talvez não estejam ainda a perceber o problema. A tabela passeios tem um id_passeio, o que significa que cada passeio tem um número único. O mesmo acontece na tabela ruas com id_rua, que é um número único para cada rua. Na tabela passeios, existe um campo que é a chave estrangeira (id_rua) uma vez que cada passeio pertence apenas a uma rua. Por sua vez, a tabela elementos tem o campo id_passeio e id_rua. São duas chaves estrangeiras que devem ser completadas quando inserimos um elemento novo. Ora cada passeio e rua podem ter muitos elementos, mas isso não é relevante. Vou dar um exemplo: Eu tenho a RUA1 que tem os passeios 2 e 3 e, RUA 2 que tem os passeios 4 e 5. Quando insiro um novo elemento e no campo id_rua coloco a rua1, o campo passeio só pode ser ou 2 ou 3! Se alguém tentar inserir 4 ou 5 está errado e é este tipo de erros que queria evitar. Pretendia adicionar um restrição que impedisse combinação de passeios e ruas erradas. Em sentido contrário, se inserimos primeiro o id_passeio, o id_rua só poderá ser um. Outro exemplo: Inserimos um novo elemento e colocamos no id_passeio 4, ora neste caso o id_rua só poderia ser RUA2. Entenderam? Se você colocasse em sua tabela Elementos a restrição: FOREIGN KEY ( id_rua, id_passeio) REFERENCES Passeios (id_rua, id_passeio) não impediria que se inserisse algum par (id_rua, id_passeio) inválido? Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Pessoal obrigado por ajudarem mas talvez não estejam ainda a perceber o problema. A tabela passeios tem um id_passeio, o que significa que cada passeio tem um número único. O mesmo acontece na tabela ruas com id_rua, que é um número único para cada rua. Na tabela passeios, existe um campo que é a chave estrangeira (id_rua) uma vez que cada passeio pertence apenas a uma rua. Por sua vez, a tabela elementos tem o campo id_passeio e id_rua. São duas chaves estrangeiras que devem ser completadas quando inserimos um elemento novo. Ora cada passeio e rua podem ter muitos elementos, mas isso não é relevante. Vou dar um exemplo: Eu tenho a RUA1 que tem os passeios 2 e 3 e, RUA 2 que tem os passeios 4 e 5. Quando insiro um novo elemento e no campo id_rua coloco a rua1, o campo passeio só pode ser ou 2 ou 3! Se alguém tentar inserir 4 ou 5 está errado e é este tipo de erros que queria evitar. Pretendia adicionar um restrição que impedisse combinação de passeios e ruas erradas. Em sentido contrário, se inserimos primeiro o id_passeio, o id_rua só poderá ser um. Outro exemplo: Inserimos um novo elemento e colocamos no id_passeio 4, ora neste caso o id_rua só poderia ser RUA2. Entenderam? Obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 05-11-2011 16:57, Bruno Silva escreveu: Olha só criando um unique ( id_rua, id_passeio ) na tabela elementos você já iria restringir alguma coisa. Mas, pelo seu modelo, vc terá diversas tuplas de elementos para um mesmo id_rua, id_passeio, o que já invalidaria tanto o unique que citei, quanto o seu unique id_rua. Acho que serei crussificado mas vai uma sugestão. Já que passeio é composta por outras informações, o que obriga a ter uma tabela só dela, você pode seguindo a idéia abaixo:? create table passeio ( id_passeio primary key serial, ...) ; create table rua ( id_rua , passeio_esq int references passeio not null, passeio_dir int references passeio not null ,...) E como foi citado antes, criar um check que não permita que o mesmo passeio seja registrado nas duas colunas. Bruno E. A. Silva. Analista de Sistemas. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Caro Bruno, muito obrigado mas Não existe hipótese de fazer sem alterar os campos da tabela, porque já tenho muito trabalho associado e iria ser muit dificl implementar assim, será que é capaz de redigir como euu tenho actualmente? Obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 06-11-2011 13:32, Bruno Silva escreveu: Então, acho que eu que não me expliquei bem, me desculpe. A idéia seria que, ao invés de você ter na tabela passeio o id_rua, você teria na tabela rua os dois ids do passeio, esquerdo e direito. Quanto a restringir da forma que vocẽ quer será mais fácil, pois na própria tabela rua, você já tem os passeios permitidos. Bruno E. A. Silva. Analista de Sistemas. 2011/11/6 Pedro Costapedrocostaa...@sapo.pt: Pessoal obrigado por ajudarem mas talvez não estejam ainda a perceber o problema. A tabela passeios tem um id_passeio, o que significa que cada passeio tem um número único. O mesmo acontece na tabela ruas com id_rua, que é um número único para cada rua. Vou dar um exemplo: ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Eu uso o postgis. Os elementos são pontos, os passeios e as ruas são linhas. Que mais informação precisam?as três tabelas tem diversos campos.. Obrigado pela ajuda Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 06-11-2011 15:34, Guimarães Faria Corcete DUTRA, Leandro escreveu: 2011/11/6 Pedro Costapedrocostaa...@sapo.pt: Caro Bruno, muito obrigado mas Não existe hipótese de fazer sem alterar os campos da tabela, porque já tenho muito trabalho associado e iria ser muit dificl implementar assim, será que é capaz de redigir como euu tenho actualmente? O modelo de dados é a fundação dum sistema, como as fundações são a base dum edifício. Costuma ser impossível consertar um edifício sem refazer as fundações. Isso dito, muitas vezes é possível criar visões e regras ou gatilhos que preservem a interface antiga da base para programas continuarem a trabalhar com poucas alterações. Ajudaria usar chaves naturais, elas tornam os problemas mais claros. Como pedi há algum tempo, explique o que seriam elementos. Publicar aqui a definição das três relações (CREATE TABLEs) também pode ajudar-nos a te ajudar. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Caro Bruno, Será que posso mandar um backup da base que fiz com o pgadmin?Ou como deseja que envie para analisar? Obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 06-11-2011 14:14, Bruno Silva escreveu: Não sei se você já passou antes, mas pra ter um caso de teste, tem como passar a estrutura das tabelas envolvidas? Bruno E. A. Silva. Analista de Sistemas. 2011/11/6 Pedro Costapedrocostaa...@sapo.pt: Caro Bruno, muito obrigado mas Não existe hipótese de fazer sem alterar os campos da tabela, porque já tenho muito trabalho associado e iria ser muit dificl implementar assim, será que é capaz de redigir como euu tenho actualmente? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Eu tenho as chaves estrangeiras implementadas o problema é que às vezes os elementos são preenchidos mal e eu queria evitar isso... Os elementos temn dois campos: id_rua e id_passeio Os passeios têm o id_passeio. Acontece que se um elemento tem um determinado id_passeio só pode ter um único id_rua. Talvez assim eu evitasse erros... Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 05-11-2011 03:44, Marcone escreveu: Prezado Pedro, Não sei se entendi bem seu problema, mas vamos lá... Em 4 de novembro de 2011 15:17, Pedro Costapedrocostaa...@sapo.pt escreveu: Cada Rua tem sempre e exclusivamente 2 passeios e cada passeios tem apenas e sempre uma rua. Só adiciono registos à tabela elementos quando os passeios e as ruas estão completamente terminados. O que queria fazer é o seguinte: Quando adicionamos um elemento com uma determinada rua, que os passeios possíveis sejam os correspondentes aquela rua, de acordo com a tabela passeios. Ao mesmo tempo pretendia que, se alguém inserisse primeiro o id_passeio, a base só aceitasse a rua correspondente. Perceberam? Alguém pode ajudar-me a formular assim uma restrição? Obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Na minha opinião parece ser apenas uma questão de modelagem e toda a lógica pode ser implementada com chaves estrangeiras. Outra opção seria utilizar triggers, mas não acho necessário. -- Marcone Peres - DBA http://www.linkedin.com/in/marconeperes @marconeperes (61) 8146-0028 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Sim, os Passeios são as calçadas...A rua tem dois passeios, um do lado direito e outro do lado esquerdo.. Os elementos são o mobiliário urbano, como bancos ou papeleiras e pertencem sempre a um passeio, que por sua vez pertence a rua correspondente, estão a perceber melhor agora? Obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 05-11-2011 09:51, Guimarães Faria Corcete DUTRA, Leandro escreveu: 2011/11/4 Pedro Costapedrocostaa...@sapo.pt: Queria adicionar uma restrição à minha base de dados e gostava de saber se podiam ajudar-me. Acho que o que pretendo é possível. Eu tenho uma base com 3 tabelas: Ruas, Passeios e Elementos. A tabela Passeios tem um campo id_rua e a tabela elementos tem um campo id_passeio e id_rua. E o que seriam elementos? Aliás, o que seriam passeios, o que chamamos de calçadas? Cada Rua tem sempre e exclusivamente 2 passeios e cada passeios tem apenas e sempre uma rua. Só adiciono registos à tabela elementos quando os passeios e as ruas estão completamente terminados. O que queria fazer é o seguinte: Quando adicionamos um elemento com uma determinada rua, que os passeios possíveis sejam os correspondentes aquela rua, de acordo com a tabela passeios. Ao mesmo tempo pretendia que, se alguém inserisse primeiro o id_passeio, a base só aceitasse a rua correspondente. Ainda não sei se compreendi bem, talvez entendendo melhor a semântica… ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Mas preciso dessa tabela também por causa de outras informações associadas. Não maneira de implementar uma restrição da maneira que falei? obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 05-11-2011 11:37, Bruno Silva escreveu: Se toda rua tem dois passeios/calçadas, não vejo a necessidade dessa tabela. Na tabela elemento haveria o relacionamento com a rua e a informacao, direita ou esquerda. Em 05/11/2011 08:16, Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt escreveu: Sim, os Passeios são as calçadas...A rua tem dois passeios, um do lado direito e outro do lado esquerdo.. Os elementos são o mobiliário urbano, ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como criar backup automatico no postgres?
Seria optimo Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 05-11-2011 14:22, Bruno Silva escreveu: Rs. Vou preparar um wiki, talvez seja interessante pra alguém. Em 05/11/2011 11:42, Dickson S. Guedes lis...@guedesoft.net mailto:lis...@guedesoft.net escreveu: Em 5 de novembro de 2011 00:52, Bruno Silva bemanuel...@gmail.com mailto:bemanuel...@gmail.com escreveu: Pensando agora podia ter apresentado a solução de backup usando bacula e um robo IBM que implementei no TJMA no Lightning talks. Na pressão que o Flávio e o Guedes botaram até esqueci o que poderia falar. :) Mas essa seria mais de 5 minutos. Que bom, assim o sino tocaria mais vezes. :) -- Dickson S. Guedes mail/xmpp: gue...@guedesoft.net mailto:gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://www.postgresql.org.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] restrição
Caro Marone, Antes de mais obrigado por tentar ajudar. Será que podia tentar explicar-me a lógica da função? Para tentar perceber, sou muito leigo nisto ainda.. Obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 05-11-2011 13:16, Marcone escreveu: teste=# create table teste_elemento(id_elem serial primary key, id_rua1 integer, id_rua2 integer, constraint valida_rua check (id_rua1 id_rua2)); ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] query
Pessoal alguém sabe como faço para atribuir números a pontos com base na linha mais próxima no postgis? Ex: update pontos set numero = campo numero da linha mais próxima Obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] restrição
Olá pessoal, Queria adicionar uma restrição à minha base de dados e gostava de saber se podiam ajudar-me. Acho que o que pretendo é possível. Eu tenho uma base com 3 tabelas: Ruas, Passeios e Elementos. A tabela Passeios tem um campo id_rua e a tabela elementos tem um campo id_passeio e id_rua. Cada Rua tem _sempre e exclusivamente_ 2 passeios e cada passeios tem _apenas_ e sempre uma rua. Só adiciono registos à tabela elementos quando os passeios e as ruas estão completamente terminados. O que queria fazer é o seguinte: Quando adicionamos um elemento com uma determinada rua, que os passeios possíveis sejam os correspondentes aquela rua, de acordo com a tabela passeios. Ao mesmo tempo pretendia que, se alguém inserisse primeiro o id_passeio, a base só aceitasse a rua correspondente. Perceberam? Alguém pode ajudar-me a formular assim uma restrição? Obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Digest pgbr-geral, volume 34, assunto 91
Cara Veronica, Obrigado pela ajuda e a todos também. Consegui resolver. Apesar de o telnet não detectar nenhum problema, o erro era da firewall que fechava a porta. como o telnet não dava erro no servidor não tinha ainda desligado a firewall. agoara já está tudo a funcionar. Obrigado a todos. Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 20-10-2011 21:37, veronica almeida escreveu: Olá Pedro! Tenho um ambiente parecido com o seu, porém meu servidor é Linux. Tentei reproduzir a mensagem de erro que enviou realizando alterações no pg_hba.conf e no postgresql.conf, porém em nenhum momento me retornou a mensagem que nos passou. Você pode informar qual a versão do QGis está utilizando? Acho q com o teste do telnet (telnet [ip server] 5432), já consegue ver se a conexão servidor/cliente está ok. (como já foi indicado) É algo simples, mas pode ser que o listen_addresses esteja comentado #listen_addresses De qualquer forma quando alterei o pg_hba.conf ou postgresql.conf para não funcionar, o erro retornado no Quantum foi: Conexão com postgres em 192.168.100.185 falhou. A base de dados pode estar fora do ar ou as configurações estão incorretas. Verifique seu usuário e senha e tente novamente. A base de dados retornou: could not connect to server: Connection refused (0x274D/10061) Is the server running on host 192.168.100.185 and accepting TCP/IP connections on port 5432? Acho que outro teste válido é tentar acessar seu banco de dados com outro cliente (pgAdminIII ou psql, etc.) Verônica Alessandra Em 20 de outubro de 2011 16:43, pgbr-geral-requ...@listas.postgresql.org.br mailto:pgbr-geral-requ...@listas.postgresql.org.br escreveu: Send pgbr-geral mailing list submissions to pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br To subscribe or unsubscribe via the World Wide Web, visit https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral or, via email, send a message with subject or body 'help' to pgbr-geral-requ...@listas.postgresql.org.br mailto:pgbr-geral-requ...@listas.postgresql.org.br You can reach the person managing the list at pgbr-geral-ow...@listas.postgresql.org.br mailto:pgbr-geral-ow...@listas.postgresql.org.br When replying, please edit your Subject line so it is more specific than Re: Contents of pgbr-geral digest... Tópicos de Hoje: 1. Print screen da resposta ao comando netstat - cliente (Pedro Costa) -- Message: 1 Date: Thu, 20 Oct 2011 19:32:13 +0100 From: Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt Subject: [pgbr-geral] Print screen da resposta ao comando netstat - cliente To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br Message-ID: 4ea0692d.40...@sapo.pt mailto:4ea0692d.40...@sapo.pt Content-Type: text/plain; charset=iso-8859-1 Print screen da resposta ao comando netstat - cliente -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território -- Próxima Parte -- Um anexo não texto foi limpo... Nome : cliente.png Tipo : image/png Tam : 23040 bytes Descr.: não disponível Url : http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20111020/c9eb73c2/attachment.png -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Fim da Digest pgbr-geral, volume 34, assunto 91 *** ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] trigger e função de proximidade
Olá pessoal, Será que alguém pode dar umas dicas no seguinte. Eu tenho três tabelas: elementos (pontos), passeios e ruas (linhas). A tabela passeios tem a coluna n_passeios e a tabela ruas tem a coluna n_rua. Como faço uma query para as colunas n_rua e n_passeio da tabela elementos serem preenchidas pelo passeio e rua mais próximo? depois queria fazer um trigger com essa query para disparar sempre que inserimos um novo elemento para ele adquirir os números desde logo. Podem ajudar? Obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] trigger e função de proximidade
Pessoal o ideal seria mesmo uma função alguém pode dar uma ajuda? Obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 21-10-2011 10:21, Pedro Costa escreveu: Olá pessoal, Será que alguém pode dar umas dicas no seguinte. Eu tenho três tabelas: elementos (pontos), passeios e ruas (linhas). A tabela passeios tem a coluna n_passeios e a tabela ruas tem a coluna n_rua. Como faço uma query para as colunas n_rua e n_passeio da tabela elementos serem preenchidas pelo passeio e rua mais próximo? depois queria fazer um trigger com essa query para disparar sempre que inserimos um novo elemento para ele adquirir os números desde logo. Podem ajudar? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] domínios
Pessoal só mais uma duvida. Eu criei o seguint dominio: create domain tipologia as text check ( value ~ 'urb' or value ~ 'parque' or value ~ 'pup') e depois a coluna: alter table ruas add column teste tipologia A partir deste momento quando edito a tabela a coluna teste não devida dar opção de escolha entre parque pup ou urb? obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] domínios
Ok obrigado. Pode ajudar na função que pedi ajuda? obrigado Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 21-10-2011 12:20, Dickson S. Guedes escreveu: Em 21 de outubro de 2011 09:06, Pedro Costapedrocostaa...@sapo.pt escreveu: Pessoal só mais uma duvida. Eu criei o seguint dominio: create domain tipologia as text check ( value ~ 'urb' or value ~ 'parque' or value ~ 'pup') e depois a coluna: alter table ruas add column teste tipologia A partir deste momento quando edito a tabela a coluna teste não devida dar opção de escolha entre parque pup ou urb? Não, o CHECK apenas _checa_ o seu cliente ou aplicação que tem que ter a lógica de mostrar ou não uma lista de opções, mas isso é do seu lado. O pgAdmin, por exemplo, não o faz, ainda. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] conexão falhada
Olá a todos, Eu instalei o postgres e o postgis e estou a tentar ligar-me através do QGIS mas falha sempre a conexão, quer do meu pc quer remotamente... Estou com o WINDOWS 7. Já modifiquei o pg_hba.config acrescentando host all all 192.168.1.0 255.255.255.0 trust e o postgres.config confirmei que tinha um asterisco em listen_adresses. O erro que obtenho é: failed to connect to specified server Operation failed. Podem ajudar-me? Podem dizer-me também como reinicio os servidor no windows? Obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] conexão falhada
sim já dei o reload mas continua igual Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 20-10-2011 13:05, Bruno Silva escreveu: Reiniciou ou deu uma reload no serviço apos alteracao? Em 20/10/2011 08:15, Pedro Costa pedrocostaa...@sapo.pt mailto:pedrocostaa...@sapo.pt escreveu: Olá a todos, Eu instalei o postgres e o postgis e estou a tentar ligar-me através do QGIS mas falha sempre a conexão, quer do meu pc quer remotamente... Estou com o WINDOWS 7. Já modifiquei o pg_hba.config acrescentando host all all 192.168.1.0 255.255.255.0 trust e o postgres.config confirmei que tinha um asterisco em listen_adresses. O erro que obtenho é: failed to connect to specified server Operation failed. Podem ajudar-me? Podem dizer-me também como reinicio os servidor no windows? Obrigado -- Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br mailto:pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] conexão falhada
Assim? host all all 192.168.1.0/24 255.255.255.0 trust Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 20-10-2011 13:54, Euler Taveira de Oliveira escreveu: host all all 192.168.1.0 255.255.255.0 trust ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] RES: conexão falhada
Eu já consigo aceder no meu pc (localhost) no entanto a partir de outros continua sem funcionar... Com os melhores cumprimentos, Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Em 20-10-2011 14:51, Jonatas Bragança escreveu: host all all 192.168.1.0/24 trust ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral