[pgbr-geral] RES: Mitos sobre PostgreSQL
> Senhores, estou preparando uma palestra sobre PostgreSQL e gostaria de pedir uma mãozinha do pessoal aqui... Quais os maiores mitos que vocês > conhecem sobre PostgreSQL? Por ser open source não presta. Não há suporte suficientemente abrangente que garanta funcionamento 24x7. __ Informação do ESET Endpoint Security, versão da vacina 13719 (20160628) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Abordagem PL/SQL para atualização de custos.
Bom dia, Estou paralisado Estrutura das entidades: --> Produtos (contendo insumos e produtos compostos) Codigo (varchar PK)|Descricao (varchar)|CustoUC (numeric)|Tipo (integer = 0 insumo / 1 = Produto Composto) --> Componentes (contendo os insumos e produtos que compõem produto principal) CodigoProduto|CodigoProdPrincipal|Qtde| - Produto do tipo insumo pode compor um produto qualquer - Produto do tipo composto, pode conter um insumo e/ou outro produto composto Grifo que na entidade Produtos, há uma coluna chamada CustoUC (custo de ultima compra), neste caso, eu atualizo este valor através de rotinas especificas e funciona bem quando eu trato apenas dos insumos. Eu estou tomando um "nó", na hora de tratar dos produtos compostos, vejamos o exemplo abaixo: Produtos Codigo |Descricao|CustoUC |Tipo| PC0001|Prod.Composto 001| 0| 1| PC0002|Prod.Composto 002| 0| 1| PC0003|Prod.Composto 003| 0| 1| IN0001 |Insumo 001 | 1| 0| IN0002 |Insumo 002 | 2| 0| IN0003 |Insumo 003 | 3| 0| IN0004 |Insumo 004 | 4| 0| IN0005 |Insumo 005 | 5| 0| Componentes CodigoProduto|CodigoProdPrincipal|Qtde| IN0001 | PC0001 |1 | IN0002 | PC0001 |1 | IN0003 | PC0001 |1 | PC0002| PC0001 |2 | IN0003 | PC0002 |1 | IN0004 | PC0002 |1 | IN0005 | PC0002 |1 | Neste caso demonstrado o produto composto de código PC0001, contém insumos e outro produto composto de código PC0002. Minha dúvida é como chegar ao custoUC dos produtos compostos sabendo este mesmo produto composto pode conter "N" produtos compostos, sabendo que estes mesmos produtos compostos dependendo da forma que for montado a procedure pode ainda não ter seu custoUC preenchido. Será que me fiz entender!? Obrigado, At. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Abordagem correto de select para ter o retorno esperado
Senhores(as), boa tarde! O seguinte SELECT [i] me dá o resultado esperado para a primeira etapa, todavia preciso numa segunda etapa obter o resultado conforme anexo. Eu tentei usar Window Function sem sucesso, na verdade nem sei se é adequado para isso. Eu consegui usando um função, porém acho que pode haver uma forma direta. Será que podem me ajudar? [i] http://pastebin.com/05U1aP3x Obrigado, At. Rubens José Rodrigues __ Informação do ESET Endpoint Security, versão da vacina 12935 (20160127) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK grid_com_resultado.txt - esta OK http://www.eset.com Premissa: Havendo na mesma campanha e condição varios elementos, o que devemos mostrar é o item de mais vendido Resultado da Operação: CODCET DESCATITE CODPROD SEQ ORIGEM CODCATITE NUMCONDICAO CODCTI VALOR CAMPANHA - 1669698 NESCAFE DLC GST Esp Inso 16Cap3x128g XQ 120885812 CAMPANHAS 120885811 30101 2729.71 StarD Dolce Gusto 1669698 NESCAFE DLC GST Nestea Peh 16Cap 3x96gXQ121174402 CAMPANHAS 121174401 30101 115.34 StarD Dolce Gusto 1669698 NESC DOLCE GUSTO Capp 16Cap 3x200g N1XQ 121200682 CAMPANHAS 121200681 30101 2719.87 StarD Dolce Gusto 1669698 NESCAFE DLC GST Chococino16Cap3x270gN1XQ121200702 CAMPANHAS 121200702 30101 2037.31 StarD Dolce Gusto 1669698 NESC DOLCE GUSTO Espresso 16Cap3x96gN1XQ121200722 CAMPANHAS 121200722 30101 3483.62 StarD Dolce Gusto 1669698 NESC DLC GST CafeAuLait 16Cap3x160g XQ 121480642 CAMPANHAS 121480643 30101 2060.57 StarD Dolce Gusto 1669698 NESCDLCGST Caffe Buongiorno16Cap3x144gXQ121520562 CAMPANHAS 121520563 30101 2585.90 StarD Dolce Gusto 1669698 NESC DLCGST MarrakeshStTe16Cap3x116 8gXQ122579112 CAMPANHAS 122579113 30101 1203.72 StarD Dolce Gusto Resultado Esperado: CODCET DESCATITE CODPROD SEQ ORIGEM CODCATITE NUMCONDICAO CODCTI VALOR CAMPANHA - 1669698 NESCAFE DLC GST Esp Inso 16Cap3x128g XQ 120885812 CAMPANHAS 120885811 30101 2729.71 StarD Dolce Gusto 1669698 NESC DOLCE GUSTO Espresso 16Cap3x96gN1XQ121200722 CAMPANHAS 121200722 30101 3483.62 StarD Dolce Gusto 1669698 NESCDLCGST Caffe Buongiorno16Cap3x144gXQ121520562 CAMPANHAS 121520563 30101 2585.90 StarD Dolce Gusto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Dúvida com SQL
>> De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Matheus de Oliveira >>Enviada em: quinta-feira, 22 de outubro de 2015 15:16 >Por favor, ajude-me dizendo como eu poderia "marcar" o elemento agrupado >(campanha, codcet, numcondicao) de maior valor. >Observe abaixo que criei uma coluna "Atendido" para ilustrar como seria o >resultado esperado, ela não existe na entidade, mas se for necessário posso >cria-la (pois é uma tabela temporária). >CAMPANHACODCET NUMCONDICAO CODCATITE VALOR >ATENDIDO >Caldo 168g 2163250 1 122490925971.00 >SIM >Caldo 168g 2163250 1 122490912512.33 >NAO >Caldo 168g 3531694 1 1224909255269.56 >SIM >Caldo 168g 3531694 1 1224909114596.32 >NÃO >>Você quer que o de maior valor tenha ATENDIDO = 'S', certo? >>Nesse caso você pode usar window function com subconsulta: >>SELECT >>t.campanha, t.codcet, t.numcondicao, t.codcatite, t.valor, >>CASE >>WHEN (row_number() OVER(PARTITION BY t.campanha, t.codcet, t.numcondicao ORDER BY t.valor DESC)) = 1 THEN 'SIM' >>ELSE 'NAO' >>END AS atendido >>FROM sua_tabela t; >>Se quiser conhecer mais sobre window functions, eu escrevi um artigo sobre isso há um tempo atrás [1][2], espero que esteja claro. >>No exemplo acima eu usei a função ROW_NUMBER para enumerar as linhas de forma decrescente, ou seja, o de maior valor recebe 1, o segundo maior 2, e assim por diante. Daí >>peguei o que era igual a 1, garantidamente o de maior valor. >>Um problema desse método é que se tiver dois itens empatados com o maior valor, apenas um será marcado de forma aleatória. Caso queira marcar ambos, basta simplesmente usar a >>função RANK ao invés da ROW_NUMBER. >> [1] http://dextra.com.br/window-functions-no-postgresql-parte1/ >> [2] http://dextra.com.br/window-functions-no-postgresql-parte-2/ >>Atenciosamente, >>Matheus de Oliveira Obrigado, assunto resolvido! __ Informação do ESET Endpoint Security, versão da vacina 12449 (20151022) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK http://www.eset.com ___ 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 com SQL
Boa tarde! Cenário: PostgreSQL 9.4.4 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.9.2-10ubuntu13) 4.9.2, 64-bit Por favor, ajude-me dizendo como eu poderia "marcar" o elemento agrupado (campanha, codcet, numcondicao) de maior valor. Observe abaixo que criei uma coluna "Atendido" para ilustrar como seria o resultado esperado, ela não existe na entidade, mas se for necessário posso cria-la (pois é uma tabela temporária). CAMPANHACODCET NUMCONDICAO CODCATITE VALOR ATENDIDO Caldo 168g 2163250 1 122490925971.00 SIM Caldo 168g 2163250 1 122490912512.33 NAO Caldo 168g 3531694 1 1224909255269.56 SIM Caldo 168g 3531694 1 1224909114596.32 NÃO Obrigado, At. Rubens J Rodrigues __ Informação do ESET Endpoint Security, versão da vacina 12449 (20151022) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Servidor não sobe: FATAL: could not access file "powa": Arquivo ou diretório não encontrado
Bom dia! Não consigo subir o servidor após uma atualização do S.O. Cenário: Dell R710 16GB Ram Raid 10 (5 discos SSD + 5 Discos SAS 15k) Linux batux 3.19.0-25-generic #26-Ubuntu SMP Fri Jul 24 21:17:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux PostgreSQL 9.4.4 Manualmente tento subir o servidor com o comando: /usr/lib/postgresql/9.4/bin/postgres -d 3 -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf Recebo a mensagem: 2015-09-08 07:15:52 BRT [3839]: [1-1] DEBUG: postgres: PostmasterMain: initial environment dump: 2015-09-08 07:15:52 BRT [3839]: [2-1] DEBUG: - 2015-09-08 07:15:52 BRT [3839]: [3-1] DEBUG: LC_PAPER=pt_BR 2015-09-08 07:15:52 BRT [3839]: [4-1] DEBUG: XDG_SESSION_ID=23 2015-09-08 07:15:52 BRT [3839]: [5-1] DEBUG: LC_ADDRESS=pt_BR 2015-09-08 07:15:52 BRT [3839]: [6-1] DEBUG: LC_MONETARY=C 2015-09-08 07:15:52 BRT [3839]: [7-1] DEBUG: SHELL=/bin/bash 2015-09-08 07:15:52 BRT [3839]: [8-1] DEBUG: TERM=xterm 2015-09-08 07:15:52 BRT [3839]: [9-1] DEBUG: LC_NUMERIC=C 2015-09-08 07:15:52 BRT [3839]: [10-1] DEBUG: USER=postgres 2015-09-08 07:15:52 BRT [3839]: [11-1] DEBUG: LC_TELEPHONE=pt_BR 2015-09-08 07:15:52 BRT [3839]: [12-1] DEBUG: MAIL=/var/mail/postgres 2015-09-08 07:15:52 BRT [3839]: [13-1] DEBUG: PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games 2015-09-08 07:15:52 BRT [3839]: [14-1] DEBUG: LC_IDENTIFICATION=pt_BR 2015-09-08 07:15:52 BRT [3839]: [15-1] DEBUG: PWD=/ 2015-09-08 07:15:52 BRT [3839]: [16-1] DEBUG: LANG=pt_BR.UTF-8 2015-09-08 07:15:52 BRT [3839]: [17-1] DEBUG: LC_MEASUREMENT=pt_BR 2015-09-08 07:15:52 BRT [3839]: [18-1] DEBUG: SHLVL=1 2015-09-08 07:15:52 BRT [3839]: [19-1] DEBUG: HOME=/var/lib/postgresql 2015-09-08 07:15:52 BRT [3839]: [20-1] DEBUG: LANGUAGE=pt_BR:pt:en 2015-09-08 07:15:52 BRT [3839]: [21-1] DEBUG: LOGNAME=postgres 2015-09-08 07:15:52 BRT [3839]: [22-1] DEBUG: LC_CTYPE=pt_BR 2015-09-08 07:15:52 BRT [3839]: [23-1] DEBUG: LC_TIME=C 2015-09-08 07:15:52 BRT [3839]: [24-1] DEBUG: LC_NAME=pt_BR 2015-09-08 07:15:52 BRT [3839]: [25-1] DEBUG: OLDPWD=/var/lib/postgresql 2015-09-08 07:15:52 BRT [3839]: [26-1] DEBUG: _=usr/lib/postgresql/9.4/bin/postgres 2015-09-08 07:15:52 BRT [3839]: [27-1] DEBUG: PGLOCALEDIR=/usr/share/locale 2015-09-08 07:15:52 BRT [3839]: [28-1] DEBUG: PGSYSCONFDIR=/etc/postgresql-common 2015-09-08 07:15:52 BRT [3839]: [29-1] DEBUG: LC_COLLATE=pt_BR.UTF-8 2015-09-08 07:15:52 BRT [3839]: [30-1] DEBUG: LC_MESSAGES=pt_BR.UTF-8 2015-09-08 07:15:52 BRT [3839]: [31-1] DEBUG: - 2015-09-08 07:15:52 BRT [3839]: [32-1] DEBUG: find_in_dynamic_libpath: trying "/usr/lib/postgresql/9.4/lib/pg_stat_statements" 2015-09-08 07:15:52 BRT [3839]: [33-1] DEBUG: find_in_dynamic_libpath: trying "/usr/lib/postgresql/9.4/lib/pg_stat_statements.so" 2015-09-08 07:15:52 BRT [3839]: [34-1] DEBUG: loaded library "pg_stat_statements" 2015-09-08 07:15:52 BRT [3839]: [35-1] DEBUG: find_in_dynamic_libpath: trying "/usr/lib/postgresql/9.4/lib/powa" 2015-09-08 07:15:52 BRT [3839]: [36-1] DEBUG: find_in_dynamic_libpath: trying "/usr/lib/postgresql/9.4/lib/powa.so" 2015-09-08 07:15:52 BRT [3839]: [37-1] FATAL: could not access file "powa": Arquivo ou diretório não encontrado 2015-09-08 07:15:52 BRT [3839]: [38-1] DEBUG: shmem_exit(1): 0 before_shmem_exit callbacks to make 2015-09-08 07:15:52 BRT [3839]: [39-1] DEBUG: shmem_exit(1): 0 on_shmem_exit callbacks to make 2015-09-08 07:15:52 BRT [3839]: [40-1] DEBUG: proc_exit(1): 1 callbacks to make 2015-09-08 07:15:52 BRT [3839]: [41-1] DEBUG: exit(1) 2015-09-08 07:15:52 BRT [3839]: [42-1] DEBUG: shmem_exit(-1): 0 before_shmem_exit callbacks to make 2015-09-08 07:15:52 BRT [3839]: [43-1] DEBUG: shmem_exit(-1): 0 on_shmem_exit callbacks to make 2015-09-08 07:15:52 BRT [3839]: [44-1] DEBUG: proc_exit(-1): 0 callbacks to make De fato, não encontro o arquivo/pasta *powa* e *powa.so*. Como devo proceder nessa abordagem? Rubens José Rodrigues __ Informação do ESET Endpoint Security, versão da vacina 12219 (20150908) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] PLPyton3: C:/Program Files/PostgreSQL/9.4/lib/plpython3.dll
Bom dia! Estou com uma enorme dificuldade para instalar a extensão plpython (2 e 3) para rodar no PostgreSQL, segue abaixo meu cenário. Sistema: Windows 7 64b devidamente atualizado Usuário com poderes administrativos logado. PG: PostgreSQL 9.4.1, compiled by Visual C++ build 1800, 64-bit Local padrão da instalação: C:\Program Files\PostgreSQL\9.4\ Python: 3.4.3 -- Instalado e com variáveis de sistema e patch configurados DLL plpython3.dll: C:\Program Files\PostgreSQL\9.4\lib Do servidor, ou seja na instalação padrão do PG Ao tentar executar: -- create extension plpython3u ERROR: could not load library C:/Program Files/PostgreSQL/9.4/lib/plpython3.dll: The specified module could not be found. SQL state: XX000 Saida do meu pg_template: tmplname tmpltrusted tmpldbacreate tmplhandler tmplinlinetmplvalidator tmpllibrary tmplacl plpythonu False False plpython_call_handler plpython_inline_handler plpython_validator $libdir/plpython2 plpython2uFalse False plpython2_call_handlerplpython2_inline_handler plpython2_validator $libdir/plpython2 plpython3uFalse False plpython3_call_handlerplpython3_inline_handler plpython3_validator $libdir/plpython3 Pesquisei na internet e tentei algumas opções como por exemplo, copiar e renomear o arquivo python3.dll para python32.dll na pasta lib. Tenho esse ambiente funcionando em Linux, todavia, já é minha quarta tentativa de implementar um ambiente de testes com Windows / PG / PLPython sem sucesso. Poderiam me orientar? Obrigado, At. Rubens José Rodrigues __ Informação do ESET Endpoint Security, versão da vacina 11333 (20150317) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Schemes vantagens
As vantagens são além da qual você ja citou e que talvez seja a maior 'Organização', é a também a facilidade de dar permissão em todas as tabelas de um único squema. Agora dividir assim como você falou vai depender de como a sua aplicação vá se comportar em com relação a isso. Normalmente os squemas são divididos em módulos da sua aplicação (que por um acaso podem ter o nome dos departamentos), ou squemas com tabelas do sistemas, squema com os cadastros, squema com a movimentação e assim vai. Glauco, aproveitando a sua explicação, caso eu tenha um schema para cadastros e outro para movimentações, ao montar consultas que relacionem tabelas dos schemas diferentes, tenho que colocar de forma explícita o nome dos schemas na consulta? Sim, deve ser informado antes do nome da tabela o squema, você pode ter tabelas com o mesmo nome mais em squemas diferentes. Att Glauco Search Path? http://www.postgresql.org/docs/9.4/static/ddl-schemas.html -- 5.7.3 __ Informação do ESET Endpoint Security, versão da vacina 11085 (20150128) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: Envio de email
Eu uso essa em pl/python e me atende bem, mas meu ambiente é *UX, nunca usei em ambiente MS. http://pastebin.com/7G1BmnEs IMHO, o melhor. Apesar de não achar que isso deveria ser obrigação do SGDB. É preciso ter a linguagem Python instalada (PL/Python). Rubens José Rodrigues Analista de Sistemas De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Santiago - NSR Enviada em: segunda-feira, 12 de janeiro de 2015 11:53 Para: 'Comunidade PostgreSQL Brasileira' Assunto: [pgbr-geral] RES: Envio de email O pg_mail, funciona ?...instalei uma vez e não consegui fazer funcionar. Santiago Cuello tele11 2601-6161 - Escritorio celular11 9.9946 1431 - VIVO celular 11 9.8526 7466 - TIM skype02santiagonsr De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Fábio Telles Rodriguez Enviada em: segunda-feira, 12 de janeiro de 2015 11:37 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Envio de email A maioria das pessoas ou mandam e-mail utilizando uma ferramenta externa como um shell script ou utilizam o PL de sua preferência. 2015-01-09 17:29 GMT-02:00 Marcelo Florindo marceloflori...@gmail.com: Boa tarde colegas, Alguém aqui envia email através do postgres??? Grato a todos, Marcelo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente, Fábio Telles Rodriguez blog: http:// http://www.midstorm.org/~telles/ s http://tellesr.wordpress.com/ avepoint.blog.br e-mail / gtalk / MSN: fabio.tel...@gmail.com Skype: fabio_telles Timbira - A empresa brasileira de Postgres http://www.timbira.com.br __ Informa��o do ESET Endpoint Security, vers�o da vacina 10999 (20150112) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK image001.jpg - esta OK image002.jpg - esta OK image003.jpg - esta OK Anexo sem titulo 04021.sql - esta OK http://www.eset.com __ Informação do ESET Endpoint Security, versão da vacina 11000 (20150112) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK Anexo sem titulo 04021.sql - esta OK image003.jpg - esta OK image002.jpg - esta OK image001.jpg - esta OK http://www.eset.com __ Informação do ESET Endpoint Security, versão da vacina 11000 (20150112) __ A mensagem foi verificada pelo ESET Endpoint Security. Mensagem de email - esta OK image007.jpg - esta OK image006.jpg - esta OK image005.jpg - esta OK http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] http://blogs.enterprisedb.com/2014/06/24/message-to-sql-server-users-everything-youve-been-told-is-wrong/
PSC Rubens José Rodrigues __ Informação do ESET Endpoint Security, versão da vacina 10022 (20140630) __ A mensagem foi verificada pelo ESET Endpoint Security. http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: [OFF-TOPIC] Normalização de dados.
Não existe o certo ou errado, existe a necessidade x possiblidade x facilidade. Mas no meu ponto de vista o *ideal* e teórico (entendimento meu na normalização 3FN(i)), seria uma tabela para esse e outros atributos que por ventura possam ou não existir. (i) - Uma entidade está na 3FN, se e somente se, estiver na 2FN e todos os atributos (colunas) não chave, forem mutuamente independentes, isto é, não há dependência funcional entre elas, e todas dependem única e exclusivamente da chave primária de forma irredutível. Rubens José Rodrigues De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Luis Eduardo Bueno Enviada em: sexta-feira, 30 de maio de 2014 14:43 Para: c...@morenarh.com.br; Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] [OFF-TOPIC] Normalização de dados. Particularmente, se já esta em produção e se a tabela tiver muitos registros, eu faria em outra tabela. Se for pequena e a quantidade de consulta for relatiivamente pequena, deixaria na mesma tabela mesmo. Att, Luis Em 30 de maio de 2014 10:24, C.P.D. - T.I. MoRHena c...@morenarh.com.br escreveu: Prezados, Sou analista de sistemas desenvolvedor e preciso criar dois atributos dentro de uma tabela já existente. Acontece que para estes dois atributos [varchar=30] cerca de 70% dos seus lançamentos o valor será nulo. A questão que me deixa em dúvida é, crio estes dois campos na tabela já existente mesmo sabendo do alto percentual de registros com o valor nulo ou crio uma nova tabela relacionada a esta já existente com apenas estes dois atributos ? Abraços, Olavo Jr. --- Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa. http://www.avast.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral __ Informação do ESET Endpoint Security, versão da vacina 9870 (20140530) __ A mensagem foi verificada pelo ESET Endpoint Security. http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: [OFF] PostgreSQL incomoda a M$
o gerenciador gráfico para SQL Server é realmente muito bom. O banco de dados fica na mão dos DBAs mais fraquinhos, e isso é uma vantagem no ambiente corporativo, que não pode pagar milhares de reais por um DBA de verdade. Não quer Mas uma coisa não podemos negar, em essência, conhecer as entranhas é bem mais difícil que ter tudo mastigado como a MS costuma entregar. Obviamente que as corporações se valem (e se fiam de verdade) que um DBA MSSql Server tem vida mansa devido ao baixo custo cerebral (de conhecimento) envolvido na função de admin. de dados, dba etc... e por isso pagam na sua maioria menos que um DBA PostgreSQL. Só lembrando que na maioria dos casos o DBA PostgreSQL não é apenas o rapaz (tem moças ai rsrsrsrs? ) do banco de dados, ele na verdade é o carinha que vai subir o sistema operacional, fazer tunning do S.O., escolher hardware etc. Já na MS é cada um no seu quadrado, e isso encarece bastante no fim das contas. Enfim, esse tipo de matéria mostra-me bem mais que simplesmente um comparativo lúdico, mostra-me que o elefante está no caminho certo, que a comunidade de conhecimento compartilhado é mais forte que a equipe fechada (mesmo com todo o investimento deles) e que eles tem de criar muitos diferenciais e, em muitos casos fora dos padrões, para se manterem de pé! Vida que segue. __ Informação do ESET Endpoint Security, versão da vacina 9196 (20131220) __ A mensagem foi verificada pelo ESET Endpoint Security. http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: [OFF] PostgreSQL incomoda a M$
2013/12/19 Lucio Chiessi [VORio] postgre...@vorio.com.br: Ou seja, ou eles estão por fora ou estão tendenciosos... Ambos. Como quase todo mundo. E ou o pico dum Iceberg (leia-se desespero ou preocupação) ? __ Informação do ESET Endpoint Security, versão da vacina 9193 (20131219) __ A mensagem foi verificada pelo ESET Endpoint Security. http://www.eset.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Usuários do SGBD PostgreSQL no ES
Opa às ordens! -Mensagem original- De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Albino B Neto Enviada em: quarta-feira, 22 de maio de 2013 15:26 Para: pgbr-geral@listas.postgresql.org.br Assunto: [pgbr-geral] Usuários do SGBD PostgreSQL no ES Oi Sou usuário do SGBD PostgreSQL. Queria saber sobre usuários daqui do estado ES ? Quem sabe podemos realizar um PGDay. :-) Albino ___ 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 : Lista OFF?
Não tenho recebido e-Mails, problemas ou recesso da galera? Att Rubens José Rodrigues ___ 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 : Transformar cadeia de caracteres em elementos num vetor
Olá pessoal! Tenho um atributo do tipo varchar(4) em que pode conter valores do tipo '12','23','34','24','1234' etc. Tudo tem um significado, e, nesse caso significam plano de visitas semanais. Minha necessidade: a) Transformar essa cadeia de caracteres em vetor de inteiros para me facilitar nas consultas, exemplo : '12' = [1,2]. b) Como saber se 1 está presente em [1,2,3,4] Verifiquei isso em : http://hype-free.blogspot.com.br/2008/05/converting-rows-records-to-and-from .html http://postgresql.1045698.n5.nabble.com/Converter-para-integer-td2031535.htm l Mas não obtive êxito. Obrigado Att Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Cross Table
Osvaldo Kussama 2012/8/30, Marcelo Silva marc...@ig.com.br: Tem como criar uma cross tables simples no postgres? Ou seja, trazer o result de um select em colunas Select descricao from Tabela Result descricao1 descricao2 descricao3 etc Mas mostrar o Result assim: descricao1, descricao2, descricao3, etc Veja crosstab no módulo tablefunc: http://www.postgresql.org/docs/current/interactive/tablefunc.html Tempos atrás eu tentei usar essa função [I] que vem no tablefunc, todavia me esbarrei no problema abaixo, será que alguém consegue me ajudar? Versão : PostgreSQL 9.0.5 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 64-bit /* Código */ create table teste(nome varchar(10), data date, qtde int); insert into teste values ('RUBENS',CURRENT_DATE,1); insert into teste values ('RUBENS',CURRENT_DATE+1,2); insert into teste values ('RUBENS',CURRENT_DATE-1,3); insert into teste values ('LEO',CURRENT_DATE,1); insert into teste values ('LEO',CURRENT_DATE+1,2); insert into teste values ('LEO',CURRENT_DATE-1,3); select * from crosstab('select nome,data,qtde from teste order by nome') as buteco(nome varchar(10),data date,qtde integer) Erro : Function Scan on crosstab ct (cost=0.00..10.00 rows=1000 width=46) LOG: duração: 0.054 ms comando: SET DateStyle TO 'ISO' ERRO: return and sql tuple descriptions are incompatible [I] http://www.postgresql.org/docs/9.0/interactive/tablefunc.html Obrigado, Rubens J Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: Cross Table
Matheus de Oliveira Tempos atrás eu tentei usar essa função [I] que vem no tablefunc, todavia me esbarrei no problema abaixo, será que alguém consegue me ajudar? Versão : PostgreSQL 9.0.5 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.4.real (Ubuntu 4.4.3-4ubuntu5) 4.4.3, 64-bit /* Código */ create table teste(nome varchar(10), data date, qtde int); insert into teste values ('RUBENS',CURRENT_DATE,1); insert into teste values ('RUBENS',CURRENT_DATE+1,2); insert into teste values ('RUBENS',CURRENT_DATE-1,3); insert into teste values ('LEO',CURRENT_DATE,1); insert into teste values ('LEO',CURRENT_DATE+1,2); insert into teste values ('LEO',CURRENT_DATE-1,3); select * from crosstab('select nome,data,qtde from teste order by nome') as buteco(nome varchar(10),data date,qtde integer) Erro : Function Scan on crosstab ct (cost=0.00..10.00 rows=1000 width=46) LOG: duração: 0.054 ms comando: SET DateStyle TO 'ISO' ERRO: return and sql tuple descriptions are incompatible Qual o resultado que você está esperando? Não dá pra adivinhar pelo que escreveu, mas eu diria o seguinte: postgres=# select * from crosstab('select nome,data,qtde from teste order by 1,2') as buteco(nome varchar(10),hoje int,amanha int,depois_amanha int); nome | hoje | amanha | depois_amanha +--++--- LEO |3 | 1 | 2 RUBENS |3 | 1 | 2 (2 rows) Obrigado pela resposta. Minha idéia de resultado seria : NOME | '30/08/2012' | '31/08/2012' | '01/09/2012' LEO | 3| 1 | 2 RUBENS| 3| 1 | 2 Rubens ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: Lista e site fora
+1 De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Saulo Morais Lara Enviada em: segunda-feira, 13 de agosto de 2012 17:00 Para: 'Comunidade PostgreSQL Brasileira' Assunto: [pgbr-geral] RES: Lista e site fora Eu tbm fiquei sem receber emails do dia 7 pra cá. Hoje está normal. De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Matheus de Oliveira Enviada em: segunda-feira, 13 de agosto de 2012 16:28 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Lista e site fora 2012/8/13 Leonardo Carneiro chesterma...@gmail.com Pessoa, foi só eu ou a lista e o site postgresql.org.br ficou fora desde o dia 7? Pra mim está normal, pelo menos hoje. -- Matheus de Oliveira ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Dúvida sobre permissões
Obrigado pela interação! Estou com uma dúvida sobre permissões e talvez até mesmo do conceito de papéis, e para ilustrar eu postei o seguinte código: http://pastebin.com/NzJ1Y4AD Minha necessidade é: a) criar vários grupos b) criar vários usuários c) criar permissões para os grupos d) deixar que os usuários herdem dos grupos as permissões conforme nossa necessidade Essa idéia é ótima! Facilita muito a administração. E muito, não tenham dúvidas! Enfrentamos nesse momento um problema aqui na empresa, onde esse controle era via aplicação + ldap e agora vai mudar, tudo porque estamos finalmente substituindo um excelente Oracle por um excelente PostgreSQL. Minhas dúvidas são: a) O papel/grupo chamado grupo_super foi criado como superuser, e pelo que eu entendi o superuser não precisa de permissões, ou seja ele poderia fazer tudo select, update, delete, criar papeis, criar usuários, database, triggers, schemas etc..., ou estou errado!? A flag superuser é, como o nome diz, uma flag. Se ela estiver setada, todas as outras permissões existentes serão simplesmente ignoradas. Quem tiver essa flag (role de usuário ou de grupo, tanto faz) tem acesso a tudo, e a fazer qualquer coisa. Se a flag for desligada, todas as permissões ordinárias existentes serão respeitadas. Aí é que está! Mesmo eu não informando ordinariamente as permissões ou seja apenas usando o atributo superuser do grupo_suporte e do usuário_super, e ao entrar no psql exemplo e tentar um select em qualquer tabela, recebo a informação de ...denied b) Na linha 48, eu coloquei o papel usuario_super como membro para grupo_super, logo, ele não deveria herdar as permissões do papel grupo_super? Sim. c) A pergunta acima é devido ao fato de que, após essa associação, eu pensei que ao entrar no psql por exemplo, como o usuário usuario_super, por esse ter herdado o atributo de superuser ele poderia fazer tudo sem ter que explicitamente dizer o que, certo!? Certo. Mas não funcionou apenas usando o código da linha 48 do código e sim após rodar: alter role usuário_super set role grupo_super . d) O comando grant all on schema.entidade to papel é diferente de alter role set role y ? Não conheço ALTER ROLE SET ROLE . A cláusula SET do ALTER ROLE serve para parâmetros de configuração. Uai, talvez aqui esteja o meu ponto crítico, pois o comando alter role usuário_super set role grupo_super *teoricamente* estaria associando imediatamente a role grupo_suporte na sessão e daí passa a funcionar a herança desejada. e) Eu não consigo usar o comando alter role xxx set role yyy, zzz, tem alguma forma!? Simplesmente, não existe. O que você quer fazer exatamente? Eu desejo associar a vários grupos um usuário de uma única vez, porém com o comando alter role xxx set role yyy somente permite uma única associação pelo menos é que eu percebi na prática. []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] RES: RES: Dúvida sobre permissões
Obrigado! Ficou claro para mim que os atributos pertencem ao objeto e, somente a ele irá ser processado sem repassar para os membros. On 24-02-2012 07:06, Rubens José Rodrigues wrote: Aí é que está! Mesmo eu não informando ordinariamente as permissões ou seja apenas usando o atributo superuser do grupo_suporte e do usuário_super, e ao entrar no psql exemplo e tentar um select em qualquer tabela, recebo a informação de ...denied Você está confundindo permissões com atributos (vide o manual [1]). Atributos [2] (por ex., superuser, createrole, createdb não são herdados); permissões [3] podem ser (vide [4]). b) Na linha 48, eu coloquei o papel usuario_super como membro para grupo_super, logo, ele não deveria herdar as permissões do papel grupo_super? Sim. Não. Não confundam atributos com permissões. Eu desejo associar a vários grupos um usuário de uma única vez, porém com o comando alter role xxx set role yyy somente permite uma única associação pelo menos é que eu percebi na prática. Vide comando GRANT [3]. O comando é: GRANT ROLE foo TO bar. [1] http://www.postgresql.org/docs/current/static/user-manag.html [2] http://www.postgresql.org/docs/current/static/role-attributes.html [3] http://www.postgresql.org/docs/current/static/sql-grant.html [4] http://www.postgresql.org/docs/current/static/role-membership.html -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ 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 sobre permissões
Pessoal, boa tarde! Estou com uma dúvida sobre permissões e talvez até mesmo do conceito de papéis, e para ilustrar eu postei o seguinte código: http://pastebin.com/NzJ1Y4AD Minha necessidade é: a) criar vários grupos b) criar vários usuários c) criar permissões para os grupos d) deixar que os usuários herdem dos grupos as permissões conforme nossa necessidade Minhas dúvidas são: a) O papel/grupo chamado grupo_super foi criado como superuser, e pelo que eu entendi o superuser não precisa de permissões, ou seja ele poderia fazer tudo select, update, delete, criar papeis, criar usuários, database, triggers, schemas etc..., ou estou errado!? b) Na linha 48, eu coloquei o papel usuario_super como membro para grupo_super, logo, ele não deveria herdar as permissões do papel grupo_super? c) A pergunta acima é devido ao fato de que, após essa associação, eu pensei que ao entrar no psql por exemplo, como o usuário usuario_super, por esse ter herdado o atributo de superuser ele poderia fazer tudo sem ter que explicitamente dizer o que, certo!? d) O comando grant all on schema.entidade to papel é diferente de alter role set role y ? e) Eu não consigo usar o comando alter role xxx set role yyy, zzz, tem alguma forma!? Obrigado, Att Rubens J Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Novo documento governamental? (Era: REPLICAÇÃO, HA E LOAD-BALANCING)
Em nome de Leandro Guimarães Faria Corce DUTRA: Não, ouvi apenas sussurros e brincadeiras na rede, parece que RG, CPF e algo mais serão substituidos pelo CU, ainda não sei a origem da sigla, e talvez seja /hoax/, se assim for, me desculpem, se não for, seja qual sigla for usada será um avanço, pois temos muitos números e nenhum nos identifica realmente, seria bom no mundo real e uma discussão a menos quanto a chaves artificias/naturais para pessoas físicas. É um projeto ditatorial e antigo. Espero que fracasse. E, aliás, creio que os benefícios seriam ilusórios: sempre haverá estrangeiros, indocumentados… Logo, voltamos a boa e velha chave natural! Muitos a veem como dilema, outros como solução e outros como complemento. Att. Rubens José Rodrigues ___ 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 Modelagem : papéis/usuários x associação com entidades
Olá pessoal, Gostaria que criticasse meu ponto de vista, como segue: Associar um papel/usuário do PostgreSQL a uma entidade Pessoa Clientes, Fornecedores, Funcionários etc..., nosso DBA principal, insiste na idéia de que ele criaria uma entidade usuários, onde a cada criação, alteração ou exclusão ele replicaria e associaria essa informação com os papéis do banco. Eu insisti em dizer que no meu ponto de vista, poderíamos associar a pg_shadow a essa entidade. Uma dificuldade que eu vejo seria apenas o modelo relacional sendo prejudicado quando usamos o catalogo do sistema, como por exemplo, quando apagarmos um papel, alterarmos etc... Para melhor entendimento do domínio do problema: Extender o sistema centralizado de segurança, onde todos os colaboradores tenham acesso as diferentes partes do sistema web e desktop, onde cada papel/usuário terá suas permissões controladas pelo SGDB, sem ferir o modelo relacional Vocês poderiam me ajudar compatilhando suas críticas e idéias!? Obrigado antecipadamente, Att Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Dúvida Modelagem : papéis/usuários x associação com entidades
2012/2/2 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com: Associar um papel/usuário do PostgreSQL a uma entidade Pessoa Clientes, Fornecedores, Funcionários etc..., nosso DBA principal, insiste na idéia de que ele criaria uma entidade usuários, onde a cada criação, alteração ou exclusão ele replicaria e associaria essa informação com os papéis do banco. Replicaria como? Gatilho na entidade usuário, após apagar um usuário estender usando drop role , como por exemplo. Eu insisti em dizer que no meu ponto de vista, poderíamos associar a pg_shadow a essa entidade. Idealmente, sim. Aliás, o mais ideal ainda (!?) seria usar o /information schema/. Fato A dificuldade é que o PostgreSQL tem uma limitação arbitrária, não permitindo a declaração de chaves sobre visões — e, portanto, impedindo a criação de restrições de integridade referenciais sobre o catálogo, que é composto de visões. [devaneio mode on] Ahh! se eu pudesse criar uma tabela por herança dessa visão! [devaneio mode off] Mea culpa: nunca experimentei um relato de erro acerca. Uma dificuldade que eu vejo seria apenas o modelo relacional sendo prejudicado quando usamos o catalogo do sistema, como por exemplo, quando apagarmos um papel, alterarmos etc... Não entendi o que o modelo relacional tem a ver… pelo contrário, no modelo relacional o catálogo é parte do modelo: diz‐se que ‘metadados também são dados’, para ficar com uma frase de efeito. Não via metadados como parte do modelo. ___ 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] RES: Dúvida sobre Roles - Papéis
Le 2011-12-30 14h44, Rubens José Rodrigues a écrit : Sim, força do hábito misturar sintaxe, estrangeirismo com o português. Desculpe-me! Não precisa pedir desculpas — basta procurar deixar claro o que se quer dizer. Amiúde o estrangeirismo ajuda a esclarecer, mas geralmente atrapalha. ;-) Então, para o papel grupo_suporte eu configurei com o search_path para schema1,schema2,schema3,schame4,public; Neste caso, qualquer outro papel que pertencesse a este, não deveria herdar o search_path!? Não, porque caminho de busca não é permissão… De fato, eu revi tudo e realmente estamos falando de coisas distintas. Sinceramente eu não vi no manualtalvez por não ter lido atenciosamente que o search_path não é herdado e sim configurado isoladamente para cada papel. Talvez confundiste permissão com variáveis? Que eu me lembre, variáveis não se herdam… Fato, eu revi meus conceitos. Se eu coloco o parâmetro INHERIT criacao do papel rubens, ele automaticamente deveria herdar todas as permissões configuradas de todos os outros papeis pertencentes, exceto o search_path, certo!? Hm, ao que parece realmente confundiste permissão com variável… c) A configuração do pg_hba.conf está certa? visto que no manual é explicito quanto ao sinal (+) quando refere-se a grupo/role!? Qual o problema? Não existe mais diferença entre usuário, grupo e papel, na prática. Hu, coincidência ou não, sem o sinal (+) não funciona... O pg_hba.conf continua ‘enxergando’ grupos, embora por dentro não haja diferença… mas minha questão é, ¿qual o problema? Não entendi tua pergunta. Não existe mais dúvidas. Obrigado pelas dicas. ;-) -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ 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 sobre Roles - Papéis
Olá pessoal, boa tarde! Estou com a missão de mudar o sistema de permissões as databases aqui na empresa e surgiu uma dúvida: a) O search path não mostra todos os schemas setados para os grupos/roles b) O usuário/role (Rubens e Rafaela) deveriam herdar [1] todos os set´s dos grupos/roles, mas não herdou c) A configuração do pg_hba.conf está certa? visto que no manual é explicito quanto ao sinal (+) quando refere-se a grupo/role!? Cenário : ambiente de testes em Windows -- produção em Solaris/Debian PostgreSQL 9.1.2, compiled by Visual C++ build 1500, 32-bit pg_hba.conf: hostall +grupo_suporte 127.0.0.1/32md5 hostall +grupo_rh 127.0.0.1/32md5 Código para criação dos papeis / roles http://pastebin.com/bPbGQpA3 /** DUVIDAS/ ERROS ENCONTRADOS ***/ psql -Urubens sap2unionr show search_path; search_path $user,public (1 registro) Não mostra o search_path setado para o grupo e quando vamos executar um select em tabelas de esquemas informados, somente se colocar precedido o nome do schema. Exemplo: select * from tabela1; ERRO: relação tabela1 não existe LINHA 1: select * from tabela1; ^ select * from schema1.tabela1; mostra o conteúdo buscado [1] : These clauses determine whether a role inherits the privileges of roles it is a member of. A role with the INHERIT attribute can automatically use whatever database privileges have been granted to all roles it is directly or indirectly a member of. Without INHERIT, membership in another role only grants the ability to SET ROLE to that other role; the privileges of the other role are only available after having done so. If not specified, INHERIT is the default. Obrigado antecipadamente, Att Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Dúvida sobre Roles - Papéis
Estou com a missão de mudar o sistema de permissões as databases Pode ser nas bases de dados? ;-) Sim, força do hábito misturar sintaxe, estrangeirismo com o português. Desculpe-me! a) O search path não mostra todos os schemas setados para os grupos/roles O que seria um ‘esquema configurado’? Em portenglish ou em tradução, não me ficou claro. De qualquer maneira, se forem permissões, o caminho de busca independe das permissões, tem de ser configurado separadamente. Então, para o papel grupo_suporte eu configurei com o search_path para schema1,schema2,schema3,schame4,public; Neste caso, qualquer outro papel que pertencesse a este, não deveria herdar o search_path!? Sinceramente eu não vi no manual talvez por não ter lido atenciosamente que o search_path não é herdado e sim configurado isoladamente para cada papel. b) O usuário/role (Rubens e Rafaela) deveriam herdar [1] todos os set´s dos grupos/roles, mas não herdou Sets? Conjuntos? Ou, novamente, seriam permissões? Deveriam herdar por quê, colocaste as palavras chave relevantes? Mostrar o que consta no catálogo para esses usuários poderia esclarecer? Se eu coloco o parâmetro INHERIT criacao do papel rubens, ele automaticamente deveria herdar todas as permissões configuradas de todos os outros papeis pertencentes, exceto o search_path, certo!? Pelo visto e na prática é o que ocorreu. c) A configuração do pg_hba.conf está certa? visto que no manual é explicito quanto ao sinal (+) quando refere-se a grupo/role!? Qual o problema? Não existe mais diferença entre usuário, grupo e papel, na prática. Hu, coincidência ou não, sem o sinal (+) não funciona... Cenário :ambiente de testes em Windows -- produção em Solaris/Debian Deveria ser irrelevante para as questões que tentaste colocar, mas não é o ideal. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Open-Source database marketshare : november 2011
Vejam isto: http://www.linkedin.com/groupItem?view=srchtype=discussedNewsgid=51776ite m=81455389type=membertrk=eml-anet_dig-b_pd-ttl-cnut=35LHwnnTPrnl01 Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: conexão falhada
Caro rogerio, não consigo abrir a porta mesmo desligando a firewall e o antivirus (avast). Já tentei adicionar a porta a excepção do firewall e não resulta. pode ajudar-me? seguem em anexo os ficheiros se quiser confirmar que estão a liberar o acesso ... Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território No servidor Windows tente: Netstat -an |more Verifique se aparece algo do tipo: TCP0.0.0.0:5432 0.0.0.0:0 LISTENING Se sim o servidor está escutando no protocolo certo e na porta default. Na estação cliente tente: Netstat -an |more Se aparecer algo do tipo logicamente substituindo pela seu endereçamento de ip TCP10.4.1.17:5156110.4.1.6:5432 ESTABLISHED TCP10.4.1.17:5156210.4.1.6:5432 ESTABLISHED TCP10.4.1.17:5156310.4.1.6:5432 ESTABLISHED Uma dúvida: Tem certeza de que os clientes e servidores estão no mesmo range de ip indicado nas configurações do Postgres? At. Rubens J Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: conexão falhada
Caro Rubens, No servidor está tudo certo no entanto no cliente não aparece a porta correcta established. Nem essa nem nenhuma... Sabe como resolver? Sim tenho a certeza dos ip. o servidor é 192.168.1.147 e o cliente 192.168.1.13... Rogerio eu modificei como disse mas não resultou... Pedro Costa Geógrafo Especializado em Sistemas de Informação Geográfica e Ordenamento do Território Para efeito de testes já tentou liberar geral ? No arquivo pg_hba.conf # IPv4 local connections: host all all 127.0.0.1/32md5 hostall all 10.4.1.6 255.255.0.0 md5 # verifique seu endereço de rede ou range No arquivo postgresql.conf: listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost', '*' = all # (change requires restart) port = 5432 # (change requires restart) max_connections = 100 #(change requires restart) ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Duvida com Modelagem: Array Multidimensional ou campos
Pessoal, Estamos enfrentado um dilema aqui na equipe, eu estou propondo o uso de array multidimensional para criar a seguinte situação: Requisito: Criar um repositório onde constará as localidades e os ciclos de visitas sendo composto de até 4 semamas e cada ciclo poderá ter 7 dias. Resumo da ópera: Ciclo - pode ser de 1 a 4 ou todos, sendo que cada um dele poderá ter até 7 componentes, assim Ex.: Ciclo 1 - D S T Q Q S S ... Ciclo 3 - T Q ... Cenário: Ambiente de teste : PostgreSQL 8.4.1, compiled by Visual C++ build 1400, 32-bit create table foo ( localidade varchar(60), ciclo int [][]); Dúvida: Alguns programadores OP, Python, C++ daqui são contra trabalhar com array e mais ainda com array multimensional, porque dizem dentre outras coisas que não está em conformidade com SQL (92,99,2003), não é indexável, difícil de se manipular etc. Do meu ponto de vista simplista, não vejo dificuldades em trabalhar com arrays mas eles argumentam o contrário na hora de dedilhar linhas de códigos. Eles propõem criar a entidade foo com 32 campos (localidade, ciclo1,ciclo2..., d1,s1...) loucura!?, daí eu juntei a equipe e fomos para discussão com a chefia para ver o que podemos fazer. Argumentos em pauta, o que vocês acham? Será que eles estão com razão e devemos esquecer arrays? Obrigado antecipadamente, Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Duvida com Modelagem: Array Multidimensional ou campos
Obrigado Flavio. -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Flavio Henrique Araque Gurgel Enviada em: segunda-feira, 10 de outubro de 2011 13:13 Para: t...@batistarepresentacoes.com; Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Duvida com Modelagem: Array Multidimensional ou campos Estamos enfrentado um dilema aqui na equipe, eu estou propondo o uso de array multidimensional para criar a seguinte situação: Requisito: Criar um repositório onde constará as localidades e os ciclos de visitas sendo composto de até 4 semamas e cada ciclo poderá ter 7 dias. Resumo da ópera: Ciclo - pode ser de 1 a 4 ou todos, sendo que cada um dele poderá ter até 7 componentes, assim Ex.: Ciclo 1 - D S T Q Q S S ... Ciclo 3 - T Q ... Problema comum por aí. Cenário: Ambiente de teste : PostgreSQL 8.4.1, compiled by Visual C++ build 1400, 32-bit No seu cenário o desenho do banco independe da versão. Mas... sugiro atualizar para a última versão da série, sempre, no seu caso 8.4.9. Tem centenas de bugs corrigidos. create table foo ( localidade varchar(60), ciclo int [][]); Dúvida: Alguns programadores OP, Python, C++ daqui são contra trabalhar com array e mais ainda com array multimensional, porque dizem dentre outras coisas que não está em conformidade com SQL (92,99,2003), não é indexável, difícil de se manipular etc. Realmente buscas em arrays podem ser não indexáveis, mas o resto dos argumentos é pura preguiça de programador. Do meu ponto de vista simplista, não vejo dificuldades em trabalhar com arrays mas eles argumentam o contrário na hora de dedilhar linhas de códigos. Eles propõem criar a entidade foo com 32 campos (localidade, ciclo1,ciclo2..., d1,s1...) loucura!?, daí eu juntei a equipe e fomos para discussão com a chefia para ver o que podemos fazer. Argumentos em pauta, o que vocês acham? Será que eles estão com razão e devemos esquecer arrays? Com duas ou três tabelas relacionadas você normaliza a loucura que você citou acima, com extremos ganhos em performance, consumo de espaço em disco, entre outras vantagens da normalização. Assim, por exemplo: Tabela 1: ciclos Colunas: id_ciclo, nome_ciclo Tabela 2: localidades Colunas: id_localidade, nome_localidade Tabela 3: visitas Colunas: id_ciclo, id_localidade, dia_semana Relacionamentos: visitas.id_ciclo - ciclos.id_ciclo visitas.id_localidade - localidades.id_localidade Restrições (com índices implícitos e prontos para usar): ciclos_pk: ciclos.id_ciclo localidades_pk: localidades.id_localidade visitas_pk: visitas.id_ciclo + visitas.id_localidade Mostre isso aos seus programadores e veja se eles não vão gostar mais. E você como DBA também deveria gostar mais. []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] RES: Duvida com Modelagem: Array Multidimensional ou campos
2011/10/10 Dickson S. Guedes lis...@guedesoft.net: [3] http://mywiki.wooledge.org/XyProblem Eu realmente gosto desta lista! ;-) -Leo -- Leonardo Cezar http://postgreslogia.wordpress.com +1 []s ___ 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] RES: PGBR2011 - Prêmio destaques da comunidade
1) Contribuição com código no PostgreSQL nos últimos 5 anos; Euler 2) Contribuição com código em ferramentas livres relacionadas ao PostgreSQL nos últimos 2 anos; 3) Pessoa que melhor contribuiu na lista pgbr-geral nos últimos 12 meses; Tenho mais que um mas na ordem: Osvaldo Kussama, Leandro Dutra, Fabio Telles etc. 4) Melhor contribuição na organização da comunidade brasileira nos últimos 2 anos; Fábio Telles 5) Melhor artigo técnico publicado nos últimos 2 anos Fábio Telles http://wiki.postgresql.org/wiki/PostgreSQL,_discos_%26_Cia ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Ajuda com select (crosstab)
... Galera, consegui resolver lendo um exemplo aqui do news mesmo. Deixando a primeira coluna como array eu consigo acessar os seus dados depois. Poderia postar como conseguiu para que o histórico contenha a solução!? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Drives ODBC
DBILINK? PostgreSQL -- MSSQL De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de renat...@checkcheck.com.br Enviada em: quinta-feira, 28 de abril de 2011 13:59 Para: pgbr-geral@listas.postgresql.org.br Assunto: [pgbr-geral] Drives ODBC Srs, Alguém sabe dizer se existe outra for de conectar um Banco SQLServer2000 com o Postgres 9 que não seja via drivers ODBC? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Segurança total em banco de dados
tsc tsc tsc Eu vi alguns ali que são cavernosos! De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Fabrízio de Royes Mello Enviada em: quarta-feira, 30 de março de 2011 13:38 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Segurança total em banco de dados Em 30 de março de 2011 13:13, Fábio Telles Rodriguez fabio.tel...@gmail.com escreveu: Vejam essa aqui: Coloque no Google: ext:sql site:com.br Ou seja: busque arquivos com a extensão '.sql' em sites com a extensão '.com.br'. Vejam e o resultado e me digam o que acharam. Hehehehe... e depois são as ferramentas que não oferecem segurança adequada... -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Segurança total em banco de dados
2011/3/30 Fábio Telles Rodriguez fabio.tel...@gmail.com: Vejam e o resultado e me digam o que acharam. Devia dar cadeia… Deviam dar um curso... -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ 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] RES: Segurança total em banco de dados
... e ou cadeia para quem cometeu estas tolices? De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Alexsander Rosa Enviada em: quarta-feira, 30 de março de 2011 14:14 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Segurança total em banco de dados Cadeia por expor quaisquer dados ou apenas por expor dados pessoais de terceiros? Em 30 de março de 2011 13:55, Leandro DUTRA leandro.gfc.du...@gmail.com escreveu: 2011/3/30 Fábio Telles Rodriguez fabio.tel...@gmail.com: Vejam e o resultado e me digam o que acharam. Devia dar cadeia -- Atenciosamente, Alexsander da Rosa http://rednaxel.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Segurança total em banco de dados
+1 -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Fábio Telles Rodriguez Enviada em: quarta-feira, 30 de março de 2011 16:26 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Segurança total em banco de dados Em 30 de março de 2011 15:47, Mauro Risonho de Paula Assumpção mauro.riso...@gmail.com escreveu: Este procedimento se chama Google Hacking...mas ha como evitar isso sim. Se quiserem algum material mando para lista. Confesso que nao sou DBA, mas trabalho na area de segurançainclusive poderemos fazer a fusao de conhecimentos. O que acham? Pô, não precisa ser gênio para evitar isso, né? Colocar dados sensíveis bem debaixo do servidor Web está longe de ser algo inteligente. É algo realmente muito básico. Não deveria ser necessário ter de lembrar alguém disso. Ok, posso estar sendo um pouco arrogante, mas backups deveriam ser tratados com mais seriedade. []s -- Atenciosamente, Fábio Telles Rodriguez blog: http://www.midstorm.org/~telles/ e-mail / gtalk / MSN: fabio.tel...@gmail.com Skype: fabio_telles ___ 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] RES: Segurança total em banco de dados
Legal! Em outras épocas seria motivo descabido para apedrejar, esquartejar, enforcar, eviscerar, execrar (mínimo), capar, detonar (lembra o Osama), enfim tudo com '%ar' É cômico mas, pena que é trágico! -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Alexsandro Haag Enviada em: quarta-feira, 30 de março de 2011 16:35 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Segurança total em banco de dados Vamos amenizar o fato e chamar de Altruísmo Acidental. Em 30-03-2011 16:25, Fábio Telles Rodriguez escreveu: Em 30 de mar�o de 2011 15:47, Mauro Risonho de Paula Assump��o mauro.riso...@gmail.com escreveu: Este procedimento se chama Google Hacking...mas ha como evitar isso sim. Se quiserem algum material mando para lista. Confesso que nao sou DBA, mas trabalho na area de seguran�ainclusive poderemos fazer a fusao de conhecimentos. O que acham? P�, n�o precisa ser g�nio para evitar isso, n�? Colocar dados sens�veis bem debaixo do servidor Web est� longe de ser algo inteligente. � algo realmente muito b�sico. N�o deveria ser necess�rio ter de lembrar algu�m disso. Ok, posso estar sendo um pouco arrogante, mas backups deveriam ser tratados com mais seriedade. []s ___ 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] RES: Coluna DataType Timestamp : Comparativo equivocado ou abordagem equivocada?
Vamos lá... DDL da tabela CREATE TABLE public.r905_acompviagem ( seq SERIAL, carro VARCHAR(20) NOT NULL, codrota VARCHAR(20), datasaida TIMESTAMP WITHOUT TIME ZONE NOT NULL, pernoites INTEGER DEFAULT 0 NOT NULL, dtprevret TIMESTAMP WITHOUT TIME ZONE, retornado CHAR(1) DEFAULT 'N'::bpchar, codusucad INTEGER NOT NULL, datacad TIMESTAMP WITHOUT TIME ZONE DEFAULT now(), seq904 INTEGER, tipo CHAR(1), codmotorista INTEGER, codajudante1 INTEGER, codajudante2 INTEGER, dataretorno TIMESTAMP WITHOUT TIME ZONE, codusuret INTEGER, codtelefone INTEGER, unifmot CHAR(1) DEFAULT 'N'::bpchar, unifajud1 CHAR(1) DEFAULT 'N'::bpchar, unifajud2 CHAR(1) DEFAULT 'N'::bpchar, carrolimpo CHAR(1) DEFAULT 'S'::bpchar, motretdef CHAR(1) DEFAULT 'S'::bpchar, ajud1retdef CHAR(1) DEFAULT 'S'::bpchar, ajud2retdef CHAR(2) DEFAULT 'S'::bpchar, caixafechado CHAR(1) DEFAULT 'N'::bpchar, codusufechacaixa INTEGER, datafechacaixa TIMESTAMP WITHOUT TIME ZONE, retroativo CHAR(1) DEFAULT 'N'::bpchar, CONSTRAINT pk_905_acompviagem PRIMARY KEY(seq), CONSTRAINT fk_905_acompviagem_usucad FOREIGN KEY (codusucad) REFERENCES public.usuarios(seq) ON DELETE NO ACTION ON UPDATE CASCADE NOT DEFERRABLE ) WITHOUT OIDS TABLESPACE ts_dados; Select : select a.seq, a.datasaida, a.dataretorno from r905_acompviagem a where a.datasaida::date = '01/12/2010' and a.dataretorno::date = '31/12/2010' order by a.datasaida Saida de dados: seq datasaida dataretorno 243 05/04/2010 08:51:19 05/04/2010 08:51:18 247 05/04/2010 09:06:52 05/04/2010 09:06:52 253 05/04/2010 10:24:33 05/04/2010 10:24:33 254 05/04/2010 11:06:49 05/04/2010 11:06:48 255 05/04/2010 11:07:20 05/04/2010 11:07:20 257 05/04/2010 12:13:03 05/04/2010 12:13:03 258 06/04/2010 07:29:19 06/04/2010 07:29:18 259 06/04/2010 07:33:45 06/04/2010 07:33:44 260 06/04/2010 07:36:39 06/04/2010 07:36:38 261 06/04/2010 07:37:34 06/04/2010 07:37:33 262 06/04/2010 08:45:33 06/04/2010 08:45:32 263 06/04/2010 08:46:26 06/04/2010 08:46:26 264 06/04/2010 08:46:39 06/04/2010 08:46:39 265 06/04/2010 08:47:12 06/04/2010 08:47:11 266 06/04/2010 08:48:18 06/04/2010 08:48:17 267 06/04/2010 08:57:41 06/04/2010 08:57:40 268 06/04/2010 09:18:17 06/04/2010 09:18:16 269 06/04/2010 10:18:01 06/04/2010 10:18:00 270 07/04/2010 09:20:47 07/04/2010 09:20:47 275 07/04/2010 10:56:13 07/04/2010 10:56:12 271 07/04/2010 11:03:22 07/04/2010 11:03:22 272 07/04/2010 11:05:32 07/04/2010 11:05:32 273 07/04/2010 11:07:57 07/04/2010 11:07:56 274 07/04/2010 11:09:33 07/04/2010 11:09:33 276 07/04/2010 11:29:36 07/04/2010 11:29:35 277 07/04/2010 11:31:03 07/04/2010 11:31:03 278 07/04/2010 11:31:17 07/04/2010 11:31:17 279 07/04/2010 11:31:25 07/04/2010 11:31:24 280 07/04/2010 11:31:54 07/04/2010 11:31:54 281 07/04/2010 11:32:06 07/04/2010 11:32:05 282 07/04/2010 11:32:18 07/04/2010 11:32:18 283 08/04/2010 06:46:12 08/04/2010 06:46:12 284 08/04/2010 08:12:43 08/04/2010 08:12:43 285 08/04/2010 08:17:59 08/04/2010 08:17:59 286 08/04/2010 08:18:14 08/04/2010 08:18:13 287 08/04/2010 08:18:30 08/04/2010 08:18:30 288 08/04/2010 08:18:51 08/04/2010 08:18:51 289 08/04/2010 08:32:57 08/04/2010 08:32:57 290 08/04/2010 08:35:18 08/04/2010 08:35:18 295 08/04/2010 08:36:16 08/04/2010 08:36:16 291 08/04/2010 08:44:37 08/04/2010 08:44:36 292 08/04/2010 08:47:48 08/04/2010 08:47:48 293 08/04/2010 08:48:03 08/04/2010 08:48:03 294 08/04/2010 09:14:10 08/04/2010 09:14:09 296 08/04/2010 09:32:51 08/04/2010 09:32:50 297 09/04/2010 07:48:56 09/04/2010 07:48:56 298 09/04/2010 07:49:59 09/04/2010 07:49:58 299 09/04/2010 08:16:23 09/04/2010 08:16:23 303 09/04/2010 08:18:54 09/04/2010 08:18:54 300 09/04/2010 08:26:38 09/04/2010 08:26:38 301 09/04/2010 08:31:23 09/04/2010 08:31:22 302 09/04/2010 08:31:46 09/04/2010 08:31:46 304 09/04/2010 08:33:25 09/04/2010 08:33:24 305 09/04/2010 08:41:29 09/04/2010 08:41:29 306 09/04/2010 09:41:31 09/04/2010 09:41:30 307 09/04/2010 09:42:03 09/04/2010 09:42:03 308 09/04/2010 09:43:12 09/04/2010 09:43:11 309 09/04/2010 09:43:42 09/04/2010 09:43:41 310 09/04/2010 09:43:54 09/04/2010 09:43:53 311 09/04/2010 11:23:13 09/04/2010 11:23:13 312 12/04/2010 07:43:00 12/04/2010 07:42:59 313 12/04/2010 09:18:05 12/04/2010 09:18:05 314 12/04/2010 09:20:40 12/04/2010 09:20:40 315 12/04/2010 09:29:12 12/04/2010 09:29:12 316 12/04/2010 09:29:35 12/04/2010 09:29:34 317 12/04/2010 09:31:10 12/04/2010 09:31:09
[pgbr-geral] RES: RES: Coluna DataType Timestamp : Comparativo equivocado ou abordagem equivocada?
Ops Errei no contexto (estava com duas abas de query builder abertas). Mas vamos ao resultado do teste. = TRATATIVA DE TESTE E AVALIAÇÃO sap_2_unionr=# show datestyle; LOG: duration: 0.219 ms statement: show datestyle; DateStyle --- ISO, DMY (1 row) sap_2_unionr =# SELECT ('05/04/2010 08:51:19'::date = '01/12/2010' and '05/04/2010 08 :51:18'::date = '31/12/2010'); LOG: duration: 0.546 ms statement: SELECT ('05/04/2010 08:51:19'::date = '01/ 12/2010' and '05/04/2010 08:51:18'::date = '31/12/2010'); ?column? -- f (1 row) = PROBLEMA : ACHO QUE ACHEI O ERRO sap_2_unionr =# select a.seq, sap_2_unionr -#a.datasaida, sap_2_unionr -#a.dataretorno sap_2_unionr -# from r905_acompviagem a sap_2_unionr -# where a.datasaida a.dataretorno ; LOG: duration: 6.649 ms statement: select a.seq, a.datasaida, a.dataretorno from r905_acompviagem a where a.datasaida a.dataretorno ; seq | datasaida |dataretorno --++ 4612 | 2011-01-04 09:16:48.986365 | 2011-01-04 00:00:00 4576 | 2011-01-03 08:52:42.866134 | 1899-12-30 17:00:00 1543 | 2010-07-05 14:57:03.027626 | 2010-07-05 14:52:39.818975 805 | 2010-05-20 07:00:48.527273 | 2010-05-20 07:00:48 827 | 2010-05-21 07:53:33.457388 | 2010-05-21 07:53:33 819 | 2010-05-21 06:46:01.361399 | 2010-05-21 06:46:01 824 | 2010-05-21 07:33:44.439904 | 2010-05-21 07:33:44 828 | 2010-05-21 08:22:47.384948 | 2010-05-21 08:22:47 823 | 2010-05-21 07:31:52.761665 | 2010-05-21 07:31:52 825 | 2010-05-21 07:34:25.45789 | 2010-05-21 07:34:25 820 | 2010-05-21 06:46:25.711412 | 2010-05-21 06:46:25 829 | 2010-05-21 08:25:25.63626 | 2010-05-21 08:25:25 826 | 2010-05-21 07:51:21.885277 | 2010-05-21 07:51:21 832 | 2010-05-21 11:50:07.65441 | 2010-05-21 11:50:07 822 | 2010-05-21 07:22:13.291241 | 2010-05-21 07:22:13 830 | 2010-05-21 08:40:19.217596 | 2010-05-21 08:40:19 803 | 2010-05-19 14:00:52.531| 2010-05-19 14:00:52 796 | 2010-05-19 08:25:58.939849 | 2010-05-19 08:25:58 804 | 2010-05-20 06:13:12.783199 | 2010-05-20 06:13:12 808 | 2010-05-20 07:35:43.76612 | 2010-05-20 07:35:43 817 | 2010-05-20 08:13:34.643324 | 2010-05-20 08:13:34 815 | 2010-05-20 08:01:14.892897 | 2010-05-20 08:01:14 -- Mais -- === DETALHE Matei só de ver o result set : o campo datasaida está com valor default current_timestamp (ou seja, está incluindo os milésimos) e no campo retorno está default now(). Será isto? -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Leonardo Cezar Enviada em: sexta-feira, 7 de janeiro de 2011 11:12 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] RES: Coluna DataType Timestamp : Comparativo equivocado ou abordagem equivocada? 2011/1/7 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com: Vamos lá... select a.seq, a.datasaida, a.dataretorno from r905_acompviagem a where a.datasaida::date = '01/12/2010' and a.dataretorno::date = '31/12/2010' order by a.datasaida Saida de dados: seq datasaida dataretorno 243 05/04/2010 08:51:19 05/04/2010 08:51:18 247 05/04/2010 09:06:52 05/04/2010 09:06:52 Parece q o contexto da dúvida inicial mudou, mas não deixa de ser bizarro ao extremo. Vamos tentar entender ... No psql ou em algum outro cliente do pg faça o seguinte: postgres=# SHOW DateStyle; DateStyle --- ISO, DMY (1 row) SELECT ('05/04/2010 08:51:19'::date = '01/12/2010' and '05/04/2010 08:51:18'::date = '31/12/2010'); ?column? -- f (1 row) Repare q as primeiras linhas exibidas pra vc retornam falso no meu exemplo e portanto não deveriam ser exibidas, daí fica a dúvida quanto a aplicação, por isso peço q execute num cliente (psql ou pgadmin) pra validar o cenário. Abraço! -Leo -- Leonardo Cezar http://postgreslogia.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
[pgbr-geral] Coluna DataType Timestamp : Comparativo equivocado ou abordagem equivocada?
Boa tarde pessoal! Hoje ao fazer uma verificação numa tabela, resolvi comparar duas colunas (timestamp), e presenciei o seguinte a) Select * from tabela where coluna1 coluna2 Saida : 243 05/04/2010 08:51:19 05/04/2010 08:51:18 247 05/04/2010 09:06:52 05/04/2010 09:06:52 253 05/04/2010 10:24:33 05/04/2010 10:24:33 254 05/04/2010 11:06:49 05/04/2010 11:06:48 255 05/04/2010 11:07:20 05/04/2010 11:07:20 257 05/04/2010 12:13:03 05/04/2010 12:13:03 258 06/04/2010 07:29:19 06/04/2010 07:29:18 259 06/04/2010 07:33:45 06/04/2010 07:33:44 260 06/04/2010 07:36:39 06/04/2010 07:36:38 261 06/04/2010 07:37:34 06/04/2010 07:37:33 262 06/04/2010 08:45:33 06/04/2010 08:45:32 263 06/04/2010 08:46:26 06/04/2010 08:46:26 264 06/04/2010 08:46:39 06/04/2010 08:46:39 Será minha abordagem na comparação deste datatype equivocada ou tem algo errado? Cenário : PostgreSQL 8.3.12 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.3-5ubuntu4) 4.3.3 Obrigado Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Conseguem me ouvir?
Pessoal, Não recebo mensagens do grupo há uns 4 dias, algum problema ou eu sou (estou com) o problema? Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Erro em Function : Há um erro mas onde?
Pessoal, boa tarde! Sexta-feira, quase indo embora, já pensando naquela cerveja gelada. Mas de repente, sempre acontece algo! Estava aqui montando um relatório e entre um teste e outro, estava funcionando, porém parou, e sinceramente não consigo encontrar o erro (principalmente pq o sistema me aponta onde está). Me ajudem? Segue o link http://pastebin.com/SYfSnpXe Mensagem de Erro : set-valued function called in context that cannot accept a set PL/pgSQL function fnc_desempenho_mot_ajud line 92 at RETURN NEXT Obrigado, At. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: Coluna do tipo Byte a em relação apresenta --select lento
Opa, Em 9 de junho de 2010 09:12, TI t...@batistarepresentacoes.com escreveu: Olá Pessoal, Preciso de uma dica de vocês. Temos uma tabela com uma coluna do tipo Bytea para armazenar uma imagem de no máximo 100k (do tipo jpg), esta tabela é uma das menores em termos de tamanho e registros (cerca de 400), porém, notamos que de uma semana para cá está muito lento o select * desta tabela, daí fizemos uma série de testes, como avaliar se realmente todas as imagens tem o tamanho acima descrito (ou uma monstruosidade), se poderia ser problema em disco, memória etc. Descartamos vários problemas e partimos para pedir ajuda ao PostgreSQL através dos logs, planos, analyze, vaccuum (na ordem) e não vimos nada (pelo menos não enxergamos). Mas, se eu fizer um select campo1, campo2... e omitir da seleção o campo bytea, tenho a performance desejada. Abaixo segue o meu cenário para tentar mostrar a vocês nossa situação: S.O - Linux batux 2.6.28-17-server #58-Ubuntu SMP Tue Dec 1 22:13:36 UTC 2009 x86_64 GNU/Linux PostgreSQL 8.3.9 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.3-5ubuntu4) 4.3.3 Tamanho das bases : datname Base_Size template1 4328 kB template0 4272 kB postgres6356 kB pykota 15008 MB sap2broker 250797 GB Tamanho das TS : spcname Size pg_default 144 MB pg_global 354 kB ts_dado 200360 GB ts_indice 50427 GB Tamanho da Tabela (em questão): schemaname tablename registros tamanho relkind sap2broker brkhrempl 339 112 kB r Plan com todos os campos: QUERY PLAN Seq Scan on funcionarios (cost=0.00..17.39 rows=339 width=479) (actual time=0.007..0.123 rows=339 loops=1) Total runtime: 0.191 ms Plan omitindo o campo bytea: QUERY PLAN Seq Scan on funcionarios (cost=0.00..17.39 rows=339 width=447) (actual time=0.009..0.496 rows=339 loops=1) Total runtime: 0.561 ms O tempo de mostragem do resultado do select * é de aproximadamente 11s. O tempo de mostragem do resultado do select campo1,campo2... omitindo o campo bytea é de aproximadamente 0.10ms O mesmo teste foi feito no psql, front end, script. Alguém pode me dar uma dica? Sua consulta sempre será sem nenhuma condição no WHERE? Sim, esta consulta sempre será sem nenhuma condição de Where. Você fez a consulta filtrando por campo da sua tabela? Qual o resultado? Se omitirmos o campo bytea temos a performance que desejamos, ou seja resultado satisfatório. Obrigado, Rubens José Rodrigues Analista de Suporte e Processos Broker Nestlé do Brasil S/A Departamento de Tecnologia e Informação (55)27-99698081 - (55)27-33996419 -- Batista Coml. Log. e Representações Ltda. (55)27-33996400 Rua José Ramos de Oliveira, 91 - Nossa Senhora da Penha Vila Velha - ES - 29110-280 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- 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] RES: Coluna do tipo Bytea em rela ção apresenta --select lento
Olá Pessoal, Preciso de uma dica de vocês. Temos uma tabela com uma coluna do tipo Bytea para armazenar uma imagem de no máximo 100k (do tipo jpg), esta tabela é uma das menores em termos de tamanho e registros (cerca de 400), porém, notamos que de uma semana para cá está muito lento o select * desta tabela, daí fizemos uma série de testes, como avaliar se realmente todas as imagens tem o tamanho acima descrito (ou uma monstruosidade), se poderia ser problema em disco, memória etc. Descartamos vários problemas e partimos para pedir ajuda ao PostgreSQL através dos logs, planos, analyze, vaccuum (na ordem) e não vimos nada (pelo menos não enxergamos). Mas, se eu fizer um select campo1, campo2... e omitir da seleção o campo bytea, tenho a performance desejada. Abaixo segue o meu cenário para tentar mostrar a vocês nossa situação: S.O - Linux batux 2.6.28-17-server #58-Ubuntu SMP Tue Dec 1 22:13:36 UTC 2009 x86_64 GNU/Linux PostgreSQL 8.3.9 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.3-5ubuntu4) 4.3.3 Tamanho das bases : datname Base_Size template1 4328 kB template0 4272 kB postgres6356 kB pykota 15008 MB sap2broker 250797 GB Tamanho das TS : spcname Size pg_default 144 MB pg_global 354 kB ts_dado 200360 GB ts_indice 50427 GB Tamanho da Tabela (em questão): schemaname tablename registros tamanho relkind sap2broker brkhrempl 339 112 kB r Plan com todos os campos: QUERY PLAN Seq Scan on funcionarios (cost=0.00..17.39 rows=339 width=479) (actual time=0.007..0.123 rows=339 loops=1) Total runtime: 0.191 ms Plan omitindo o campo bytea: QUERY PLAN Seq Scan on funcionarios (cost=0.00..17.39 rows=339 width=447) (actual time=0.009..0.496 rows=339 loops=1) Total runtime: 0.561 ms O tempo de mostragem do resultado do select * é de aproximadamente 11s. O tempo de mostragem do resultado do select campo1,campo2... omitindo o campo bytea é de aproximadamente 0.10ms O mesmo teste foi feito no psql, front end, script. Alguém pode me dar uma dica? Obrigado, Rubens José Rodrigues Analista de Suporte e Processos Broker Nestlé do Brasil S/A Departamento de Tecnologia e Informação (55)27-99698081 - (55)27-33996419 -- Batista Coml. Log. e Representações Ltda. (55)27-33996400 Rua José Ramos de Oliveira, 91 - Nossa Senhora da Penha Vila Velha - ES - 29110-280 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Criação de Banco v-8.4 .1-1
Olá Henrique! Para começarmos, nos ajude a te ajudar! - Qual a mensagem de erro que aparece? - Qual a linha de comando para criação do banco que estás usando? - Tem como mostrar o passo-a-passo do que está fazendo? O fato de estar usando o Vista não é impedimento nenhum. Precisamos de mais subsídios para termos idéia do que acontece para te ajudar. De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Henrique Silva Enviada em: terça-feira, 20 de outubro de 2009 09:51 Para: pgbr-geral@listas.postgresql.org.br Assunto: [pgbr-geral] Criação de Banco v-8.4.1-1 Bom dia, sou iniciante em postgre e li bastante antes de baixar e instalar, optei pela versão mais recente. Porém estou tendo problemas, ele não deixa eu criar um banco com codificação LATIN1. Encontrei na web outras pessoas com a mesma dificuldade, porém sem solução. Meu SO é o Windows Vista. Desde já, obrigado! Henrique. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Limitar acesso ao banco via SQL?
Pessoal, Tenho uma dúvida, existe uma forma de limitar o acesso (AKA disable login) no PostgreSQL via SQL? Sei que tenho condições de fazer isto via pg_hba.conf. Grato, Rubens J Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Dica sobre implementação de time out : statement_timeout x aplicação x manutenção de banco
Olá Mozart e Turma, Obrigado pela dica. Havíamos pensado em quebrar os bancos em porções baseado em seus padrões, porém não vimos muita disponibilidade de dados para tal, chegou-se ao ponto de tentar criar tabelas para depositarmos estatísticas de uso, tais como, acesso por tabelas, deleções, updates, inserts, gráfico de uso por horário, transações abortadas, iniciadas, load geral etc. Todavia, ainda estamos estudando como chegar a este produto final (somos originários do Oracle onde tudo vinha ou era produzido com certa facilidade através das inúmeras views etc.). Você e ou a turma pode me indicar o caminho das pedras em relação aos hits do banco? Isto quer dizer alguma documentação, relato de experiência etc. Desde já agradeço a todos, Rubens b) Por necessidade desabilitamos o autovacuum por termos experimentado alguns dissabores (quem sabe por deficiência em sua compreensão). Compreendo perfeitamente. c) Implementamos scripts de manutenção (vacuumdb, analyze, reindex) semanais e individuais para cada base de dados respeitando suas propriedades e aplicações. Ótimo. Determinados usuários deixam transações abertas, aplicativos abertos etc... e com isto o vacuumdb para por ali esperando uma ação (ou finalização) para que ele continue. Se a transação se resolve sozinha (mesmo que demore), então não há nada que você possa fazer senão deixá-la trabalhar. Para resolver temos as opções de terminate backend dos clientes ou do script de manutenção para voltar. Aborte sua manutenção. Veja o padrão de uso de cada tabela e agende as manutenções para os horários em que elas não estiverem sendo usadas. Acho pouco provável que seu usuário atualize de madrugada a mesma tabela que é atualizada durante o dia. Se for o caso, só te resta escolher quem precisa esperar em qual horário de qual dia da semana e pronto. a) Será que nossa abordagem está equivocada quanto ao vacuumdb em relação a estas oportunidades (que possivelmente irão ocorrer outras vezes) de os clientes esquecerem a aplicação com transações em aberta? Você pode estimar que uma transação aberta esteja aberta sem motivo, porém não há como ter certeza. Pense naquele cara que esperou o fim do expediente para rodar um script monstro de várias horas para atualizar sei lá o que numa tabela gigante, crucial para seu chefe no dia seguinte. Imagine a cara dele quando voltar no dia seguinte esperando usar os dados atualizados e descobrir que algum desinformado do suporte matou a conexão do script dele... b) Temos a possibilidade de implementar a opção statement_timeout, onde determinaríamos um período de inatividade tipo (5 min), mas vimos no proprio manual que não é recomendavel, o que acham? Nem pensar. Você não sabe qual a maior consulta que todos os seus usuários podem fazer. Imagine um gerente tentando colocar na mesa do chefe aquele relatório gerencial urgentíssimo que costumava levar 6 minutos e agora leva 5 para dizer que não dá... c) Nosso ERP nos permite esta opção, mas a empresa mantenedora disse que a melhor opção é via banco de dados e plano de manutenção, será o caminho, usar o ERP para controlar o timeout dele mesmo? A empresa mantenedora tem razão, isso é problema de administração de banco, não do ERP. d) Quem já experimentou algo deste gênero e como chegou a um consenso funcional? Consenso não imagino que haja nem que vá haver. Lamento, sem um conhecimento profundo e detalhado do padrão de uso de todas as suas tabelas, o jeito é abortar manutenções e particionar tabela a tabela, espalhando pelos horários de menor uso. Atenciosamente, Mozart Hasse ___ 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] Dica sobre implementação de time out : statement_timeout x aplicação x manut enção de banco.
Olá pessoal, boa tarde! Estamos num dilema onde temos de apontar para uma solução, como segue: Pontos a) Temos 3 bases de dados, respectivamente (400GB, 800GB, 900MB) sendo bi, olap, middleware. b) Por necessidade desabilitamos o autovacuum por termos experimentado alguns dissabores (quem sabe por deficiência em sua compreensão). c) Implementamos scripts de manutenção (vacuumdb, analyze, reindex) semanais e individuais para cada base de dados respeitando suas propriedades e aplicações. Dilema Verificamos em algumas oportunidades que o helpdesk (nós) estamos sendo contatados com muita freqüência pela madrugada devido ao travamento (alegação de usuário) das aplicações (ou parte dela), ao entrarmos no circuito de cara matamos a charada. Determinados usuários deixam transações abertas, aplicativos abertos etc... e com isto o vacuumdb para por ali esperando uma ação (ou finalização) para que ele continue. Para resolver temos as opções de terminate backend dos clientes ou do script de manutenção para voltar. Duvida a) Será que nossa abordagem está equivocada quanto ao vacuumdb em relação a estas oportunidades (que possivelmente irão ocorrer outras vezes) de os clientes esquecerem a aplicação com transações em aberta? b) Temos a possibilidade de implementar a opção statement_timeout, onde determinaríamos um período de inatividade tipo (5 min), mas vimos no proprio manual que não é recomendavel, o que acham? c) Nosso ERP nos permite esta opção, mas a empresa mantenedora disse que a melhor opção é via banco de dados e plano de manutenção, será o caminho, usar o ERP para controlar o timeout dele mesmo? d) Quem já experimentou algo deste gênero e como chegou a um consenso funcional? Cenario PostgreSQL 8.3.7 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu11) 4.3.2 Raid 1+0 (4 TB) SAS Hot 6 GB Ram Conto com a opnião de vocês, Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Autovacuum desabilitado mas ainda assim aparecendo na lista de processos.
Olá Pessoal, Estou com uma dúvida, por opção nossa resolvemos não deixar o autovacuum no automático e sim no manual (cron nas madrugadas), porém percebemos que ainda assim vemos com frequencia vários processos com o autovacuum, será que fizemos algo em desacordo? Estamos enfrentando uma dificuldade (antes não tinha) de quando estes processos estarem rodando as tabelas envolvidas estarem locadas e assim fica, até que um de nós mata o pid da operação (autovacuum). NOSSO CENÁRIO PostgreSQL 8.3.7 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu11) 4.3.2 PS AUX|GREP POSTGRES postgres 5262 0.0 0.0 72168 1368 ?Ss Aug16 1:08 postgres: logger process root 25377 0.0 0.0 70124 3136 ?Ss 07:09 0:00 sshd: postgres [priv] postgres 25379 0.0 0.0 70124 1896 ?S07:09 0:00 sshd: postg...@pts/0 postgres 25380 0.0 0.0 19480 2272 pts/0Ss 07:09 0:00 -bash root 25385 0.0 0.0 70124 3140 ?Ss 07:09 0:00 sshd: postgres [priv] postgres 25387 0.0 0.0 70124 1900 ?S07:09 0:00 sshd: postg...@pts/1 postgres 25388 0.0 0.0 19480 2288 pts/1Ss 07:09 0:00 -bash postgres 25407 0.0 0.0 21016 1804 pts/0S+ 07:10 0:00 vim teste.py postgres 25587 0.0 0.1 703176 7752 ?Ss 07:25 0:00 postgres: writer process postgres 25588 0.0 0.0 703176 1568 ?Ss 07:25 0:00 postgres: wal writer process postgres 25589 0.0 0.0 703176 1712 ?Ss 07:25 0:00 postgres: autovacuum launcher process postgres 25590 0.0 0.0 72296 1300 ?Ss 07:25 0:00 postgres: archiver process postgres 25591 0.0 0.0 72296 1432 ?Ss 07:25 0:00 postgres: stats collector process postgres 25595 0.1 0.3 710820 15052 ?Ss 07:27 0:02 postgres: postgres apoiorh 10.4.1.42(3856) idle in transaction postgres 25684 0.0 0.0 16152 1144 pts/1R+ 07:54 0:00 ps aux postgres 25685 0.0 0.0 7500 816 pts/1R+ 07:54 0:00 grep postgres POSTGRESQL.CONF #--- --- 383 # AUTOVACUUM PARAMETERS 384 #--- --- 385 386 #autovacuum = off # Enable autovacuum subprocess? 'on' 387 # requires track_counts to also be on. 388 #log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions and 389 # their durations, 0 logs only 390 # actions running at least that time. 391 #autovacuum_max_workers = 3 # max number of autovacuum subprocesses 392 #autovacuum_naptime = 1min# time between autovacuum runs 393 #autovacuum_vacuum_threshold = 500 # min number of row updates before 394 # vacuum 395 #autovacuum_analyze_threshold = 500 # min number of row updates before 396 # analyze 397 #autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before vacuum 398 #autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze 399 #autovacuum_freeze_max_age = 2 # maximum XID age before forced vacuum 400 # (change requires restart) 401 #autovacuum_vacuum_cost_delay = 20 # default vacuum cost delay for 402 # autovacuum, -1 means use 403 # vacuum_cost_delay 404 #autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for 405 # autovacuum, -1 means use 406 # vacuum_cost_limit 407 408 409 #--- --- Att. Rubens José Rodrigues Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Acessar base MS SQL SERVER usando dbl ink, é possivel?
Olá pessoal, Hoje eu tenho um gadget em java agendado (cron) que faz pesquisa num sistema em MSSQL-SERVER e atualiza algumas tabelas no PostgreSQL, que funciona redondinho. Porém, vi na documentação [1] sobre o dblink e veio a dúvida se é possivel via contrib, pl acessar esta base? Meu cenário: PostgreSQL 8.3.7 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu11) 4.3.2 [1] - http://www.postgresql.org/docs/current/interactive/contrib-dblink.html http://www.postgresql.org/docs/current/interactive/contrib-dblink.html Desde já agradeço, Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: SET DEADLOCK_PRIORITY
Leandro, Boa tarde! A assinatura do seu email não condiz com esta lista. ;-) Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Batista Coml. Log. Representações Ltda. Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Leandro Henrique Pereira Neto Enviada em: sexta-feira, 21 de agosto de 2009 13:52 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] SET DEADLOCK_PRIORITY Mozart Hasse escreveu: Olá, Por acaso o Postgres tem o equivalente a este comando do SQL Server? Ele se aplica à conexão e indica qual a prioridade do processo corrente caso ele se envolva num deadlock. Eu preciso *muito* ter o controle sobre isso para poder rodar alguns processos de baixa prioridade sem *nunca* comprometer transações de processos críticos. Respostas antecipadas: * Não, tentar rodar de novo a transação no processo crítico é desastroso, tanto em desempenho quanto em esforço de programação. * Não, eu não posso evitar completamente o deadlock entre esses dois processos (baixa x alta prioridade). Já sacrifiquei tudo o que poderia de paralelismo fazendo os processos de alta prioridade não causarem deadlocks entre si. * Não, eu não vou esquartejar minhas transações em pedaços menores tão cedo, se é que algum dia eu vou fazer isso só por um capricho do Postgres. Atenciosamente, Mozart Hasse Mozart, Sei que não é a resposta esperada, mas a verdade a vezes doí, deadlock é problema de lógica da aplicação. Você pode ter milhares de transações em paralelo e não ter deadlock, assim como ter somente dois processos e gerar deadlock. Para resolver problemas deadlock não é necessário sacrificar paralelismo e sim rever a lógica de aquisição de locks da aplicação. Uma dica simples é adquirir os locks nos objetos sempre na mesma ordem. Para defender o postgresql posso ter informar que por exemplo o bancos de dados bam-bam do mercado (Oracle) não tem comando similar a este e isto não é um problema. Leandro. Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada exclusivamente a seu destinatário e pode conter informações confidenciais, protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, esclarecendo o equívoco. This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a government company established under Brazilian law (5.615/70) -- is directed exclusively to its addressee and may contain confidential data, protected under professional secrecy rules. Its unauthorized use is illegal and may subject the transgressor to the law's penalties. If you're not the addressee, please send it back, elucidating the failure. ___ 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] Ajuda, dica, luz : Script de backup parou de funcionar via cron mas funciona via shell.
Olá Pessoal, Estou com uma dificuldade aqui quanto ao dump de um banco via cron usando um script, ele funcionava normalmente até ontem, mas hoje não sei por que carga dágua parou. Cenário: PostgreSQL 8.3.7 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu11) 4.3.2 Missão: Dump de um banco de dados via cron Script: #!/bin/bash # Script para dump de banco de dados # By Rubens J Rodrigues # 09/02/2009 08:06h # Variaveis PASTABIN='/usr/lib/postgresql/8.3/bin' DST='/sistemas/unionr/backup/dmp/' tt=`/bin/date +%d_%m_%Y` ARQUIVO=$DSTOracle-SAP-PG-$tt.backup # Exportando as variaveis export 'PG_PORT=5432' export 'PG_HOST=localhost' export 'PG_DATABASE=_oracle_sap_bi' export 'PG_USERNAME=x #onde x nome do usuario export 'PG_PASSWORD=x #onde x senha do usuario #Iniciando o backup do banco $PASTABIN/pg_dump -U postgres -F c -b -E UTF8 -f $ARQUIVO -Z 9 oracle_sap_bi # Comprimindo arquivo e apagando o original cd /sistemas/unionr/backup/dmp tar -zcf $ARQUIVO.tar.gz $ARQUIVO rm -f $ARQUIVO Syslog (Ultimas linhas) Aug 7 16:08:36 batux crontab[18414]: (postgres) BEGIN EDIT (postgres) Aug 7 16:08:48 batux crontab[18414]: (postgres) REPLACE (postgres) Aug 7 16:08:48 batux crontab[18414]: (postgres) END EDIT (postgres) Aug 7 16:09:01 batux /usr/sbin/cron[5505]: (postgres) RELOAD (crontabs/postgres) Aug 7 16:09:01 batux /USR/SBIN/CRON[18421]: (root) CMD ( [ -x /usr/lib/php5/maxlifetime ] [ -d /var/lib/php5 ] find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm) Aug 7 16:10:01 batux /USR/SBIN/CRON[18432]: (root) CMD ([ -x /usr/sbin/update-motd ] /usr/sbin/update-motd 2/dev/null) Aug 7 16:11:01 batux /USR/SBIN/CRON[18448]: (postgres) CMD (/sistemas/unionr/scripts/backup.sh) Problema resultante: Arquivo com Tamanho zerado. Alguma idéia? Grato a todos Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Ajude a escolher as palestras do PGCon Brasil 2009
C... Mas votarei Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Fábio Telles Rodriguez Enviada em: segunda-feira, 20 de julho de 2009 12:14 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Ajude a escolher as palestras do PGCon Brasil 2009 Senhores a votação termina amanhã... até agora temos menos de 50 votos. Achei estranho, então pergunto, Se você não votou ainda é porquê: A) Nem li meus e-mails da semana passada ainda... daqui a pouco eu voto! B) É muita coisa para ler, estou sem tempo; C) Confio na banca avaliadora, não precisam do meu voto; D) Não vou e não tenho interesse no PGCon Brasil 2009; E) Outros, qual? Só queria saber a opinião de vocês sobre o processo. A votação foi uma novidade em relação às edições anteriores e eu gostaria de saber se é uma novidade positiva ou não para a comunidade. Atenciosamente, Fábio Telles 2009/7/16 Fábio Telles Rodriguez fabio.tel...@gmail.com: Senhores, está aberta a votação para as propostas de palestras enviadas para o PGCon Brasil 2009. http://pgcon.postgresql.org.br/2009/votacao.php A votação está sendo divulgada apenas nas listas pgbr-geral e pgbr-dev, para priviegiar o voto das pessoas da comunidade. A votação terminaria logo, no dia 21/07/2009, na próxima 3ª feira, segundo o calendário da chamada de trabalhos em: http://pgcon.postgresql.org.br/2009/chamadas.php Bom, já dá para ter uma amostra do PGCon Brasil 2009, boa diversão!!! OBSERVAÇÃO IMPORTANTE: Segundo foi definido, a votação não será o ÚNICO fator determinante na escolha das palestras. A comissão avaliadora é soberana na escolha. Também não consta na votação as propostas de Hacker Talks. Atenciosamente, Fábio Telles -- blog: http://www.midstorm.org/~telles/ e-mail / jabber: fabio.tel...@gmail.com -- blog: http://www.midstorm.org/~telles/ e-mail / jabber: fabio.tel...@gmail.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, visite http://ecp.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0MDUxNTIxMiNwZXJtIWJhd GlzdGFyZXByZXNlbnRhY29lc2xtJjEsMTI0ODEwMjg0Mi41Mzc3NjAuMTc2NzUuZW1icm8udHBuL nRlcnJhLmNvbSw0ODAzTerraMail Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. Esta mensagem foi verificada pelo E-mail Protegido. Atualizado em 19/07/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: RES: Ajude a escolher as palestras do PGCon Brasil 2009
www.webmeeting.com.br (não tenho idéia de valores) Mas existe uma solução free com ddns + adsl + stream. Última semana tivemos uma e-palestra ao vivo para aproximadamente 1500 pessoas em 39 pontos diferentes com métodos de conexões diferentes e foi uma beleza. Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestle do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Fábio Telles Rodriguez Enviada em: segunda-feira, 20 de julho de 2009 14:42 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] RES: Ajude a escolher as palestras do PGCon Brasil 2009 2009/7/20 Stefan Horochovec stefan.horocho...@gmail.com: Ola Sera possivel acompanhar as palestras atraves da internet? Olha, eu particularmente não estava pensando nisso. Alguém aqui sabe quanto custaria para oferecer este tipo de serviço? []s Fábio Telles Abracos Stefan Horochovec Analista de Sistemas Adobe User Group Manager - FlexDuck Blog: http://www.horochovec.com.br/ Use Java, Flex e Linux 2009/7/20 Jorge Vilela jorge.com...@gmail.com A) Mas já votei! =) 2009/7/20 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com C... Mas votarei Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Fábio Telles Rodriguez Enviada em: segunda-feira, 20 de julho de 2009 12:14 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Ajude a escolher as palestras do PGCon Brasil 2009 Senhores a votação termina amanhã... até agora temos menos de 50 votos. Achei estranho, então pergunto, Se você não votou ainda é porquê: A) Nem li meus e-mails da semana passada ainda... daqui a pouco eu voto! B) É muita coisa para ler, estou sem tempo; C) Confio na banca avaliadora, não precisam do meu voto; D) Não vou e não tenho interesse no PGCon Brasil 2009; E) Outros, qual? Só queria saber a opinião de vocês sobre o processo. A votação foi uma novidade em relação às edições anteriores e eu gostaria de saber se é uma novidade positiva ou não para a comunidade. Atenciosamente, Fábio Telles 2009/7/16 Fábio Telles Rodriguez fabio.tel...@gmail.com: Senhores, está aberta a votação para as propostas de palestras enviadas para o PGCon Brasil 2009. http://pgcon.postgresql.org.br/2009/votacao.php A votação está sendo divulgada apenas nas listas pgbr-geral e pgbr-dev, para priviegiar o voto das pessoas da comunidade. A votação terminaria logo, no dia 21/07/2009, na próxima 3ª feira, segundo o calendário da chamada de trabalhos em: http://pgcon.postgresql.org.br/2009/chamadas.php Bom, já dá para ter uma amostra do PGCon Brasil 2009, boa diversão!!! OBSERVAÇÃO IMPORTANTE: Segundo foi definido, a votação não será o ÚNICO fator determinante na escolha das palestras. A comissão avaliadora é soberana na escolha. Também não consta na votação as propostas de Hacker Talks. Atenciosamente, Fábio Telles -- blog: http://www.midstorm.org/~telles/ e-mail / jabber: fabio.tel...@gmail.com -- blog: http://www.midstorm.org/~telles/ e-mail / jabber: fabio.tel...@gmail.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, visite http://ecp.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0MDUxNTIxMiNwZXJtIWJhd GlzdGFyZXByZXNlbnRhY29lc2xtJjEsMTI0ODEwMjg0Mi41Mzc3NjAuMTc2NzUuZW1icm8udHBuL nRlcnJhLmNvbSw0ODAzTerraMail Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. Esta mensagem foi verificada pelo E-mail Protegido. Atualizado em 19/07/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https
[pgbr-geral] RES: RES: Ajude a escolher as palestras do PGCon Brasil 2009
Posso contribuir com a comunidade, criando um grupo de trabalho para estudo e viabilidade de um sistema que irá captar as imagens, compactar e transmitir. Existem algumas ferramentas open, mas um exemplo que pode ser visto é o da empresa www.webmeeting.com.br, que poderá nos nortear. Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Dickson S. Guedes Enviada em: segunda-feira, 20 de julho de 2009 16:36 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] RES: Ajude a escolher as palestras do PGCon Brasil 2009 Em Mon, 20 Jul 2009 14:42:01 -0300, Fábio Telles Rodriguez fabio.tel...@gmail.com escreveu: 2009/7/20 Stefan Horochovec stefan.horocho...@gmail.com: Ola Sera possivel acompanhar as palestras atraves da internet? Olha, eu particularmente não estava pensando nisso. Alguém aqui sabe quanto custaria para oferecer este tipo de serviço? Em conversas informais comentamos sobre isto. Em resumo? Poucas pessoas na organização para fazer muita coisa. Isto acaba gerando gargalos e afunilamentos. Se tivessemos mais pessoas ajudando na organização provavelmente teríamos recursos mais avançados como a transmissão via web e/ou gravação de algumas/todas as palestras, tradução simultânea, etc. A dica é forte e acredito que digna de atenção, nem que seja para o ano que vem. []s Guedes ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, visite http://ecp.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0MDUxNTIxMiNwZXJtIWJhd GlzdGFyZXByZXNlbnRhY29lc2xtJjEsMTI0ODExODYwNC4xNDc5MTguMTA0NjcucHJlc3Rvbi50Z XJyYS5jb20sNDQwMQ==TerraMail Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. Esta mensagem foi verificada pelo E-mail Protegido. Atualizado em 20/07/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Dúvidas em funções com strings;
Perfeito, obrigado a todos. Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 De: Fabrízio de Royes Mello [mailto:fabriziome...@gmail.com] Enviada em: segunda-feira, 6 de julho de 2009 17:41 Para: rubens.rodrig...@batistarepresentacoes.com; Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Dúvidas em funções com strings; 2009/7/6 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com corte a) Contar a presença de uma determinada string dentro de outra string. Ex.: strcount(a,amanhã)(*), aqui esta função contaria a incidência da substring a na string amanhã me retornado o valor 2. Caro Rubens, Função nativa do PostgreSQL para solucionar esse teu problema creio que não tenha (pelo menos não encontrei na documentação [1]) Mas rapidinho podemos solucionar esse impasse: create or replace function strcount(text, text) returns bigint as $$ select sum(conta) from (select case when substr($2, i, 1) = $1 then 1 else 0 end as conta from generate_series(1, length($2)) as i) as x; $$ language sql; E um teste rápido: bdteste=# select strcount('i', 'Fabrizio'); strcount -- 2 (1 row) bdteste=# select strcount('a', 'amanhã'); strcount -- 2 (1 row) Espero ter ajudado. [1] http://www.postgresql.org/docs/8.4/interactive/functions-string.html Cordialmente, -- Fabrízio de Royes Mello Blog sobre PostgreSQL: http://fabriziomello.blogspot.com _ E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, clique http://ecp.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0MDUxNTIxMiNwZXJtIWJh dGlzdGFyZXByZXNlbnRhY29lc2xtJjEsMTI0NjkxMjg1Mi40MjA4NjMuMjY1MDguY2FicmV0b24u dGVycmEuY29tLDYyNjA=TerraMail aqui. Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. _ Esta mensagem foi verificada pelo E-mail Protegido. Atualizado em 03/07/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Dúvidas em funções com strings ;
Olá Lista, Tenho uma dúvida, sou originário do Oracle e não consegui realizar esta tarefa que aparentemente é elementar: Cenário: PostgreSQL 8.3.7 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu11) 4.3.2 a) Contar a presença de uma determinada string dentro de outra string. Ex.: strcount(a,amanhã)(*), aqui esta função contaria a incidência da substring a na string amanhã me retornado o valor 2. Desde já agradeço a ajuda, (*) Função criada por nós onde criamos um array com a string e navegamos testando caracter por caracter. Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Uso de aliases em comandos update.
Opa salve galera! Deparei-me com uma dúvida, estamos adaptando mais um módulo (que funciona em Oracle) no PostgreSQL e tentei sem sucesso o uso de aliases em comandos update, relendo a documentação vi que é possivel, mas na prática devo estar errando em algo, será que podem me ajudar? Cenário: PostgreSQL 8.3.7 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu11) 4.3.2 Base 1T em UTF8. Manual 8.3 [1] UPDATE -- update rows of a table Synopsis UPDATE [ ONLY ] table [ [ AS ] alias ] SET { column = { expression | DEFAULT } | ( column [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...] [ FROM fromlist ] [ WHERE condition | WHERE CURRENT OF cursor_name ] [ RETURNING * | output_expression [ AS output_name ] [, ...] ] Parameters Table The name (optionally schema-qualified) of the table to update. Alias A substitute name for the target table. When an alias is provided, it completely hides the actual name of the table. For example, given UPDATE foo AS f, the remainder of the UPDATEstatement must refer to this table as f not foo. Tentativa: Update foo a set a.coluna = (select count(1) from outratabela where codfoo=a.codfoo); Erro: Error: ERROR: column a of relation foo does not exist LINE 1: update foo a set a.coluna=(select count(1) from... 1 - http://www.postgresql.org/docs/8.3/interactive/sql-update.html http://www.postgresql.org/docs/8.3/interactive/sql-update.html Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Uso de aliases em comandos update.
Muito obrigado pela ajuda Falta de tempo é desculpa daqueles que perdem tempo por falta de métodos Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestle do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Fabrízio de Royes Mello Enviada em: terça-feira, 23 de junho de 2009 14:11 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Uso de aliases em comandos update. 2009/6/23 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com corte Tentativa: Update foo a set a.coluna = (select count(1) from outratabela where codfoo=a.codfoo); Erro: Error: ERROR: column a of relation foo does not exist LINE 1: update foo a set a.coluna=(select count(1) from... Caro Rubes, Como você bem citou a documentação oficial [1] no SET do UPDATE você deve referenciar diretamente a coluna da tabela (ou alias) que é alvo do comando. No valor setado você pode colocar uma Tabela.Coluna, dependendo da forma como você está escrevendo o SQL. Tente: Update foo a set coluna = (select count(1) from outratabela where codfoo=a.codfoo); [1] http://www.postgresql.org/docs/8.3/interactive/sql-update.html -- Fabrízio de Royes Mello Blog sobre PostgreSQL: http://fabriziomello.blogspot.com _ E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, clique http://ecp.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0MDUxNTIxMiNwZXJtIWJh dGlzdGFyZXByZXNlbnRhY29lc2xtJjEsMTI0NTc3NzA1OS42Mjk5NTkuMTY5NzguZ2FuYW5vcXVl LnRlcnJhLmNvbSw2MzU0TerraMail aqui. Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. _ Esta mensagem foi verificada pelo E-mail Protegido. Atualizado em 23/06/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: [Spam] Re: RES:RES: Duvidas quanto funcionamento anormal (ou sou eu) de function.
Bingo! Muito obrigado! Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestle do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 -Mensagem original- De: Osvaldo Kussama [mailto:osvaldo.kuss...@gmail.com] Enviada em: quinta-feira, 16 de abril de 2009 17:03 Para: rubens.rodrig...@batistarepresentacoes.com Assunto: Re: [Spam] Re: [pgbr-geral] RES:RES: Duvidas quanto funcionamento anormal (ou sou eu) de function. 2009/4/16 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com: Então, ficaríamos assim : // Aqui eu determino que o intervalo será de 10 em 10 minutos i:=10; -- Abrindo o cursor e entrando em loop open _Registro; loop fetch _Registro into Registro; exit when not found; - Aqui vData pegará a data e hora atual (current_timestamp) + o intervalo (i), certo, por exemplo se agora (current_timestamp) é '16/04/2009 16:20', logo vData+intervalo(i) será '16/04/2009 16:30', certo? vData :=(current_timestamp + (i*1||' minutes')::interval) as time; Aqui está o problema. Quando você coloca as time você está desprezando a parte referente a dia/mês/ano e ficando só com de hora para baixo. bdteste=# SELECT current_timestamp; now --- 2009-04-16 17:01:17.780008-03 (1 registro) bdteste=# SELECT cast(current_timestamp as time); now - 17:01:37.960057 (1 registro) - Já aqui coloquei um check, onde se vData atual com cast (ou seja pegando apenas as horas da variavel) for superior ou igual a 18h ignore o update da agenda. if cast(vData as time)='18:00:00' then Se for isto, não deu certo. Osvaldo E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, visite http://mail.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0MDUxNTIxMiNwZXJtIWJh dGlzdGFyZXByZXNlbnRhY29lc2xtJjEsMTIzOTkxMjE1NS4zNjUyMi4xNDk0Mi5kcmVzZGVuLnRl cnJhLmNvbSwzNzkzTerraMail Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. Esta mensagem foi verificada pelo E-mail Protegido. Atualizado em 16/04/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Duvidas quanto funcionamento anormal (ou sou eu) de function.
Pessoal, Estou com um pequeno problema (que está me tirando o sono), por favor, ajudem-me. Cenário: PostgreSQL 8.3.6 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu12) 4.3.2. Problema: A função abaixo deveria organizar uma tabela de agendamento (somente o horário), porém quando chamo a function ela coloca qualquer horário menos o atual mais o intervalo, somente depois da terceira ou quarta tentativa é que funciona. O cliente pode ser tanto o Delphi, quanto o psql, quanto outro qualquer que o problema persiste. Abaixo segue a função, observem que existe um parâmetro de entrada (não o uso por enquanto). Repetindo, supondo que existam horários na agenda (registros) nos horários de 8h, 9h, 10h e agora são 12h e chamo a function para atualizar a agenda para reordenar por exemplo o que é 8h passaria para 12:10h (devido ao intervalo) e assim por diante, mas, o sistema coloca qualquer horário menos o que deveria ser (agora now()). CREATE OR REPLACE FUNCTION public.fnc_titulovenc_controle_agenda (eCodCli integer) RETURNS boolean AS $body$ DECLARE -- Cursor para registros da agenda _Registro cursor for select codcli, data from titulosvenc_agenda where cast(data as date)=current_date and horafim is null and automatico='S' order by data asc; -- Variavel que recebera o resultset do cursor Registro record; -- Variavel para intervalo de tempo em minutos i integer; -- Valor de referencia para o horario de fim vData timestamp; BEGIN -- Determinando o intervalo i:=10; -- Abrindo o cursor open _Registro; loop fetch _Registro into Registro; exit when not found; vData :=(now() + (i||' minutes')::interval) as time; if cast(vData as time)='18:00:00' then -- Atualizando a agenda update titulosvenc_agenda set data= vData where codcli=registro.codcli and cast(data as date)=current_date; -- Atualizando a folha de rosto de cobrança update titulosvenc set dataagenda=vData where codcli=registro.codcli; end if; i:=i+10; end loop; close _Registro; return true; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; Conto com a ajuda de vocês, Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES:RES: Duvidas quanto funcionamento anormal (ou sou eu) de function.
Osvaldo, Não, o cast ali (vData :=(now() + (i||' minutes')::interval) as time;) a variavel deveria pegar o agora mais o interval em minutos (exemplo agora=data hoje + 09:00 + intervalo de i minutos). Já aqui (if cast(vData as time)='18:00:00'), ai sim, se pegando somente o horario da variavel e for igual ou superior a 18h ignore o bloco de comando. 2009/4/16 Rubens José Rodrigues rubens.rodrigues https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral em batistarepresentacoes.com: Estou com um pequeno problema (que está me tirando o sono), por favor, ajudem-me. Cenário: PostgreSQL 8.3.6 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu12) 4.3.2. Problema: A função abaixo deveria organizar uma tabela de agendamento (somente o horário), porém quando chamo a function ela coloca qualquer horário menos o atual mais o intervalo, somente depois da terceira ou quarta tentativa é que funciona. O cliente pode ser tanto o Delphi, quanto o psql, quanto outro qualquer que o problema persiste. Abaixo segue a função, observem que existe um parâmetro de entrada (não o uso por enquanto). Repetindo, supondo que existam horários na agenda (registros) nos horários de 8h, 9h, 10h e agora são 12h e chamo a function para atualizar a agenda para reordenar por exemplo o que é 8h passaria para 12:10h (devido ao intervalo) e assim por diante, mas, o sistema coloca qualquer horário menos o que deveria ser (agora now()). CREATE OR REPLACE FUNCTION public.fnc_titulovenc_controle_agenda (eCodCli integer) RETURNS boolean AS $body$ DECLARE -- Cursor para registros da agenda _Registro cursor for select codcli, data from titulosvenc_agenda where cast(data as date)=current_date and horafim is null and automatico='S' order by data asc; -- Variavel que recebera o resultset do cursor Registro record; -- Variavel para intervalo de tempo em minutos i integer; -- Valor de referencia para o horario de fim vData timestamp; BEGIN -- Determinando o intervalo i:=10; -- Abrindo o cursor open _Registro; loop fetch _Registro into Registro; exit when not found; vData :=(now() + (i||' minutes')::interval) as time; Creio que com este cast você está armazenando em vData apenas a hora, min, seg etc do dia, você está desprezando a parte referente a data, é isto mesmo? Recomenda-se fazer: i*'1 minute'::interval. if cast(vData as time)='18:00:00' then -- Atualizando a agenda update titulosvenc_agenda set data= vData where codcli=registro.codcli and cast(data as date)=current_date; -- Atualizando a folha de rosto de cobrança update titulosvenc set dataagenda=vData where codcli=registro.codcli; end if; i:=i+10; end loop; close _Registro; return true; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; Osvaldo Pessoal, Estou com um pequeno problema (que está me tirando o sono), por favor, ajudem-me. Cenário: PostgreSQL 8.3.6 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu12) 4.3.2. Problema: A função abaixo deveria organizar uma tabela de agendamento (somente o horário), porém quando chamo a function ela coloca qualquer horário menos o atual mais o intervalo, somente depois da terceira ou quarta tentativa é que funciona. O cliente pode ser tanto o Delphi, quanto o psql, quanto outro qualquer que o problema persiste. Abaixo segue a função, observem que existe um parâmetro de entrada (não o uso por enquanto). Repetindo, supondo que existam horários na agenda (registros) nos horários de 8h, 9h, 10h e agora são 12h e chamo a function para atualizar a agenda para reordenar por exemplo o que é 8h passaria para 12:10h (devido ao intervalo) e assim por diante, mas, o sistema coloca qualquer horário menos o que deveria ser (agora now()). CREATE OR REPLACE FUNCTION public.fnc_titulovenc_controle_agenda (eCodCli integer) RETURNS boolean AS $body$ DECLARE -- Cursor para registros da agenda _Registro cursor for select codcli, data from titulosvenc_agenda where cast(data as date)=current_date and horafim is null and automatico='S' order by data asc; -- Variavel que recebera o resultset do cursor Registro record; -- Variavel para intervalo de tempo em minutos
[pgbr-geral] RES: [Spam] Re: RES:RES: Duvidas quanto funcionamento anormal (ou sou eu) de function.
Então, ficaríamos assim : // Aqui eu determino que o intervalo será de 10 em 10 minutos i:=10; -- Abrindo o cursor e entrando em loop open _Registro; loop fetch _Registro into Registro; exit when not found; - Aqui vData pegará a data e hora atual (current_timestamp) + o intervalo (i), certo, por exemplo se agora (current_timestamp) é '16/04/2009 16:20', logo vData+intervalo(i) será '16/04/2009 16:30', certo? vData :=(current_timestamp + (i*1||' minutes')::interval) as time; - Já aqui coloquei um check, onde se vData atual com cast (ou seja pegando apenas as horas da variavel) for superior ou igual a 18h ignore o update da agenda. if cast(vData as time)='18:00:00' then Se for isto, não deu certo. Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Batista Coml. Log. Representações Ltda. Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 -Mensagem original- De: Osvaldo Kussama [mailto:osvaldo.kuss...@gmail.com] Enviada em: quinta-feira, 16 de abril de 2009 16:15 Para: rubens.rodrig...@batistarepresentacoes.com; Comunidade PostgreSQL Brasileira Assunto: [Spam] Re: [pgbr-geral] RES:RES: Duvidas quanto funcionamento anormal (ou sou eu) de function. 2009/4/16 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com: Não, o cast ali (vData :=(now() + (i||' minutes')::interval) as time;) a variavel deveria pegar o agora mais o interval em minutos (exemplo agora=data hoje + 09:00 + intervalo de i minutos). Então retire o cast para time ou faça este cast para timestamp. Já aqui (if cast(vData as time)='18:00:00'), ai sim, se pegando somente o horario da variavel e for igual ou superior a 18h ignore o bloco de comando. Se vData contiver um timestamp então tudo bem mas você havia armazenado apenas um time. Osvaldo E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, visite http://mail.terra.com.br/cgi-bin/reportspam.cgi?+_d=UyY0MDUxNTIxMiNwZXJtIWJh dGlzdGFyZXByZXNlbnRhY29lc2xtJjEsMTIzOTkwOTI3NS45OTAzMjcuMzQ2OS5xdWVzbmVsLnRl cnJhLmNvbSwzMDc0TerraMail Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. Esta mensagem foi verificada pelo E-mail Protegido. Atualizado em 16/04/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Duvida quanto ao uso ou não do row limit nesta query.
Pessoal, Tenho uma necessidade de que a query abaixo me retorne o limite de 60 registros diminuindo a quantidade x de uma variavel (vTotAgendaDia). Ou seja: Estou pegando os 60 maiores devedores da empresa para agendar um contato, este contato se dá por meio de uma tabela de agendamento, de posse dos registros eu faço um loop e insiro na ordem nesta tabela de agendamento. Porém se para o dia x existir registros agendados (manualmente) eu preciso contar antes e diminuir do limit inicial (ex.: ... limit-x). Quando eu uso uma subquery na clausula limit o PostgreSQL não permite, se eu uso uma variável ele diz que não existe a coluna xx (nome da variável), como eu poderia resolver isto? Lembrando que está tudo dentro de uma function e não de uma query isolada. select distinct(a.codcli), b.especial, sum(a.valor) as valor from titulosvenc a inner join clientes b on a.codcli=b.codcli where a.codcli not in (select codcli from titulosvenc_agenda where cast(data as date)=current_date) group by a.codcli,b.especial order by b.especial desc,sum(a.valor) desc, a.codcli limit 60 vTotAgendaDia Desde já agradeço Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Backup/restore de uma tabela.
Olá, Qual a versão do PostgreSQL? Qual a mensagem de erro apresentada? Tentou fazer por linha de código? Qual a sintaxe usada para fazer o backup? Qual a sintaxe usada para restaurar o backup? Att. Rubens José Rodrigues T.I, Analista de Suporte Tel: (27)3399-6419 / (27)9969-8081 rubens.rodrig...@batistarepresentacoes.com Broker Nestlé do Brasil S/A Rua José Ramos de Oliveira, 91, 29111-280 Nossa Senhora da Penha, Vila Velha, ES (27)3399-6400 / (27)9975-0140 -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Pedro B. Alves Enviada em: quinta-feira, 26 de março de 2009 09:25 Para: Comunidade PostgreSQL Brasileira Assunto: [pgbr-geral] Backup/restore de uma tabela. Bom dia pessoal, estou com o seguinte problema... estou fazendo o backup de uma tabela de um shema e tentando restaurar ela em outro. e não consigo. alguém tem alguma dica desse procedimento; oq estou fazendo: no pgAdmin, faço o backup da tabela. ainda pelo pgAdmin tento fazer o restore da tabela. a tabela que estou fazendo o backup é a tclientes e estou tentando restaurar em uma tabela vazia chamada a. e não faz nada. nem cria os campos e muito menos os dados. Estou usando windows xp. e vista. o postgresql-8.2... Obrigado. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Esta mensagem foi verificada pelo E-mail Protegido Terra. Atualizado em 26/03/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] SQL Error : Invalid Sequence for en coding UTF8:0xe17269 === Já aplicado o dump com o encoding desejado, server etc.
Pessoal, Vi que o assunto é recorrente não só aqui na lista quanto no mundo afora e sinceramente ainda não consegui pegar o fio da meada para solucionar este problema que aparentemente parece ser alguma rateada minha. Minha história: necessidade de troca de servidor e portar o banco para suporte a multi-idiomas. Nosso cenário: (HW) Server Dell 4 x Quad Core -- 32 GB RAM -- Raid 0+10 com 8 discos SAS 15k -- (SW) PostgreSQL 8.3.5 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu11) 4.3.2 Client/Server com ZeosLib / Delphi Web Services -- Java / .net (Base) 365 GB Passos: a) O servidor (ainda) atual de produção está com a codificação WIN1552 e com o sistema operacional e aplicativos devidamente configurado e funcionando. b) Fizemos um dump da base usando a opção extra E UTF8 c) No novo servidor já com o ambiente devidamente configurado para UTF8 e com o banco criado para UTF8, depois de criado importamos o arquivo e pronto... Base no ar (ledo engano). . . Que beleza, fomos para testes maciços e para nossa surpresa a mensagem de erro na seqüência de codificação. Já tentamos o iconv (mas ele não suporta o win1252) e nada. Onde será que erramos ou o que nos faltou, será que podem me indicar o caminho das pedras? Desde já agradeço a atenção, Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: SQL Error : Invalid Sequenc e for encoding UTF8:0xe17269 === Já ap licado o dump com o encoding desejado, server etc .
Opa, Tem razão o correto é WIN1252 (onde lê-se WIN1552). Na verdade é o que estamos fazendo, mapear o aplicativo atrás de algum envio incorreto de encoding. Uma peculiaridade encontrada é que sempre em consultas (select yyy from xxx order by zzz) livres e simples é que acontecem o erro, em transações complexas, views, functions etc. etc. etc. não. Preciso de férias... RS... E ainda dizem que ganho fácil... Att. -- Rubens José Rodrigues -- -Mensagem original- De: Osvaldo Kussama [mailto:osvaldo.kuss...@gmail.com] Enviada em: terça-feira, 10 de fevereiro de 2009 15:06 Para: rubens.rodrig...@batistarepresentacoes.com; Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] SQL Error : Invalid Sequence for encoding UTF8:0xe17269 === Já aplicado o dump com o encoding desejado, server etc. 2009/2/10 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com: Vi que o assunto é recorrente não só aqui na lista quanto no mundo afora e sinceramente ainda não consegui pegar o fio da meada para solucionar este problema que aparentemente parece ser alguma rateada minha. Minha história: necessidade de troca de servidor e portar o banco para suporte a multi-idiomas. Nosso cenário: (HW) Server Dell 4 x Quad Core -- 32 GB RAM -- Raid 0+10 com 8 discos SAS 15k -- (SW) PostgreSQL 8.3.5 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Ubuntu 4.3.2-1ubuntu11) 4.3.2 Client/Server com ZeosLib / Delphi Web Services -- Java / .net (Base) 365 GB Passos: a) O servidor (ainda) atual de produção está com a codificação WIN1552 e com o sistema operacional e aplicativos devidamente configurado e funcionando. b) Fizemos um dump da base usando a opção extra E UTF8 c) No novo servidor já com o ambiente devidamente configurado para UTF8 e com o banco criado para UTF8, depois de criado importamos o arquivo e pronto... Base no ar (ledo engano). . . Que beleza, fomos para testes maciços e para nossa surpresa a mensagem de erro na seqüência de codificação. Já tentamos o iconv (mas ele não suporta o win1252) e nada. Onde será que erramos ou o que nos faltou, será que podem me indicar o caminho das pedras? Bom WIN1552 não é suportado pelo PostgreSQL. Vou presumir que é WIN1252 e, nesta condição, seu dump deveria ter sido corretamente convertido. A tabela 22-2 informa: - Server Character Set: WIN1252 - Available Client Character Sets: WIN1252, UTF8 em: http://www.postgresql.org/docs/current/interactive/multibyte.html portanto a conversão WIN1252 - UTF8 é feita pelo PostgreSQL. Um iconv --list exibe WINDOWS-1252 como um dos conjuntos de caracteres que ele conhece. Talvez seja uma questão de nome correto. É possível que algum cliente tenha informado o encoding incorreto ao atualizar algum dado de seu bd? Osvaldo Esta mensagem foi verificada pelo E-mail Protegido Terra. Atualizado em 10/02/2009 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Dicas para um bom logging no PostgreSQL.
Pessoal, Bom dia a todos! Hoje, acordei com a missão de avaliar o log do PostgreSQL em busca de algumas informações que ocorreram durante a semana , e me deparei com a dúvida: Será que o que estamos coletando realmente é o suficiente ou podemos otimizar o que coletamos?, partindo do pressuposto que informação é tudo e quem tem informação, tem a ferramenta na mão, e, levando em consideração que cada caso é um caso , eu pergunto a vocês, será que itens abaixo é o suficiente para termos um log digno do exposto ou indicam uma abordagem complementar/diferente? Cenário: Ubuntu Server 8.10 64 Bits PostgreSQL 8.3.5 on X86_64-pc-linux-gnu Tamanho da base: 296 GB -- ERP / CRM Postgresql.conf: ONDE log_destination = stderr logging_collector =on log_directory= /sistemas/unionr/log log_filename= unionr-%Y-%m-%d_%H%M%S.log log_rotation_age= 1d log_rotation_size= 15MB QUANDO Client_min_messages = notice Log_min_messages = notice Log_min_error_statement = error O QUE Log_connections = on Log_disconnections = on Log_durarion = on Log_line_prefix = %t %u %r Desde já agradeço, Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Incrementar intervalo de tempo via trigger (function) --- Onde eu errei me ajudem!
Pessoal, Preciso da orientação e ajuda de vocês. Scenario: PostgreSQL 8.3.3, compiled by Visual C++ build 1400 Windows Vista Delphi 7 / 2009 --- ZeosLib 6.6.4-stable Tabela A CODPROB INTEGER; PRAZOHORAS INTEGER; Tabela B CODHLP INTEGER; CODPROB INTEGER ; à FK TABELA A DATAPREV TIMESTAMP; Trigger CREATE TRIGGER trg_teste BEFORE INSERT OR UPDATE ON public.teste FOR EACH ROW EXECUTE PROCEDURE public.fnc_teste(); Necessidade : Ao inserir/atualizar um registro na tabela B, preciso atualizar o campo DATAPREV da tabela B em X horas baseado no campo PRAZOHORAS da tabela A. Estou usando o método : Declare vNovaDataHora Timestamp; ... select new.dataprev +' interval'|| vPrazo||' hours' into vNovaDataHora; ... Mensagem de Erro: Invalid input for type interval; Bom já vi de cara que não posso colocar o interval entre aspas ou seja está errado o que estou tentando fazer. Então pergunto, como devo proceder para via trigger ao inserir/atualizar um campo do tipo data/hora/timestamp adicionar/remover um intervalo de tempo ? Desde já agradeço, Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Incrementar intervalo de tempo via trigger (function) --- Onde eu errei me ajudem!
Não, ela não está vazia . . . mesmo se eu colocar fixamente o valor vPrazo:=1 ela apresenta erro Att. Rubens José Rodrigues -Mensagem original- De: Shairon Toledo [mailto:shairon.tol...@gmail.com] Enviada em: segunda-feira, 29 de dezembro de 2008 16:08 Para: rubens.rodrig...@batistarepresentacoes.com; Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Incrementar intervalo de tempo via trigger (function) --- Onde eu errei me ajudem! talvez sua var vPrazo está vazia 2008/12/29 Rubens José Rodrigues rubens.rodrig...@batistarepresentacoes.com: Pessoal, Preciso da orientação e ajuda de vocês. Scenario: PostgreSQL 8.3.3, compiled by Visual C++ build 1400 Windows Vista Delphi 7 / 2009 --- ZeosLib 6.6.4-stable Tabela A CODPROB INTEGER; PRAZOHORAS INTEGER; Tabela B CODHLP INTEGER; CODPROB INTEGER ; à FK TABELA A DATAPREV TIMESTAMP; Trigger CREATE TRIGGER trg_teste BEFORE INSERT OR UPDATE ON public.teste FOR EACH ROW EXECUTE PROCEDURE public.fnc_teste(); Necessidade : Ao inserir/atualizar um registro na tabela B, preciso atualizar o campo DATAPREV da tabela B em X horas baseado no campo PRAZOHORAS da tabela A. Estou usando o método : Declare vNovaDataHora Timestamp; ... select new.dataprev +' interval'|| vPrazo||' hours' into vNovaDataHora; ... Mensagem de Erro: Invalid input for type interval; Bom já vi de cara que não posso colocar o interval entre aspas ou seja está errado o que estou tentando fazer. Então pergunto, como devo proceder para via trigger ao inserir/atualizar um campo do tipo data/hora/timestamp adicionar/remover um intervalo de tempo ? Desde já agradeço, Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- [ ]'s Shairon Toledo http://www.hashcode.eti.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Verificar String e deteremina r se é alfa ou numérico.
Bingo 2 . . . Obrigado Dickson . . . Att. Rubens José Rodrigues -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Dickson S. Guedes Enviada em: terça-feira, 16 de dezembro de 2008 13:32 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Verificar String e detereminar se é alfa ou numérico. Rubens José Rodrigues escreveu: (...) Minha necessidade: Verificar uma string, numa posição qualquer, se é alfa ou numérico hoje estou fazendo na unha algo funcional porém acredito não se a forma mais elegante de testar. Fazendo jus à Navalha de Ockham Via banco utilizando uma string completa: # SELECT 'UmNoMeQuAlQUeR' ~* '^[A-Za-z]+$'; ?column? -- t (1 registro) # SELECT 'UmNoMeQuAlQUeR_C0m_Num3r0s' ~* '^[A-Za-z]+$'; ?column? -- f (1 registro) Via banco utilizando parte de uma string completa: # SELECT SUBSTRING('UmNoMeQuAlQUeR_C0m_Num3r0s',3,6) ~* '^[A-Za-z]+$'; ?column? -- t (1 registro) # SELECT SUBSTRING('UmNoMeQuAlQUeR_C0m_Num3r0s',15,10) ~* '^[A-Za-z]+$'; ?column? -- f (1 registro) Em C ou C++ você também pode fazer uso de expressão regular. []s -- Dickson S. Guedes Administrador de Banco de Dados Confesol - Projeto Colmeia Florianopolis, SC, Brasil (48) 3322-1185, ramal: 26 ___ 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] RES: Verificar String e deteremina r se é alfa ou numérico.
Bingo . . . Obrigado Pessoal em especial Osvaldo. Att. Rubens José Rodrigues -Mensagem original- De: Osvaldo Kussama [mailto:osvaldo.kuss...@gmail.com] Enviada em: terça-feira, 16 de dezembro de 2008 11:47 Para: rubens.rodrig...@batistarepresentacoes.com; Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Verificar String e detereminar se é alfa ou numérico. Em 16/12/08, Rubens José Rodriguesrubens.rodrig...@batistarepresentacoes.com escreveu: Meu cenário: PostgreSQL 8.3.3, compiled by Visual C++ build 1400 Windows Vista Minha necessidade: Verificar uma string, numa posição qualquer, se é alfa ou numérico hoje estou fazendo na unha algo funcional porém acredito não se a forma mais elegante de testar. Verifique se é isto ajuda: bdteste=# SELECT (substring('ABC12345', 2, 1) ~* '[[:digit:]]') AS É numérico; É numérico f (1 registro) bdteste=# SELECT (substring('ABC12345', 4, 1) ~* '[[:digit:]]') AS É numérico; É numérico t (1 registro) bdteste=# SELECT (substring('ABC12345', 2, 1) ~* '[[:alpha:]]') AS É alfabético; É alfabético -- t (1 registro) bdteste=# SELECT (substring('ABC12345', 4, 1) ~* '[[:alpha:]]') AS É alfabético; É alfabético -- f (1 registro) Veja: http://www.postgresql.org/docs/current/interactive/functions-string.html http://www.postgresql.org/docs/current/interactive/functions-matching.html#F UNCTIONS-POSIX-REGEXP Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Verificar String e detereminar se é alfa ou numérico.
Pessoal, Meu cenário: PostgreSQL 8.3.3, compiled by Visual C++ build 1400 Windows Vista Minha necessidade: Verificar uma string, numa posição qualquer, se é alfa ou numérico hoje estou fazendo na unha algo funcional porém acredito não se a forma mais elegante de testar. Será que podem me ajudar? Desde já agradeço, Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Problema com sequence : criando int ervalo involuntário.
Pessoal, Eu já tive este problema mas sinceramente deu branco aqui e não havia documentado. Cenário: Estrutura Windows Vista PostgreSQL 8.3.3, compiled by Visual C++ build 1400 Zeos 6.6.2-RC Lógica create sequence seq_foo start with 1; create table foo (seq bigint default (seq_foo::regclass), texto varchar(1)); No PSQL : Insert into foo (texto) values (a); Insert into foo (texto) values (b); Insert into foo (texto) values (c); Via Delphi/Zeos Mesmo item acima numa query. Problema : Ao pegar o result set da tabela acima o seqüencial está : seqtexto 1 a 3 b 5 c Ou seja ele está pulando a seqüencia, mesmo sabendo que não tenho uma trigger para isto e ou não tenho outras transações usando esta sequence. Alguém poderia me ajudar? Att. Rubens José Rodrigues ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Problema com sequence : cri ando intervalo involuntário.
Opa . . . Tentei e nada . . . O engraçado é que verifiquei a dependência da sequence para ver se algum outro objeto dependia dele e nada . . . Att. Rubens José Rodrigues De: Rafael Sousa [mailto:[EMAIL PROTECTED] Enviada em: sexta-feira, 14 de novembro de 2008 12:19 Para: [EMAIL PROTECTED]; Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Problema com sequence : criando intervalo involuntário. tenta criar a sequence assim: CREATE SEQUENCE nomedaseq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; até... rafael sousa 2008/11/14 Rubens José Rodrigues [EMAIL PROTECTED] Pessoal, Eu já tive este problema mas sinceramente deu branco aqui e não havia documentado. Cenário: Estrutura Windows Vista PostgreSQL 8.3.3, compiled by Visual C++ build 1400 Zeos 6.6.2-RC Lógica create sequence seq_foo start with 1; create table foo (seq bigint default ('seq_foo'::regclass), texto varchar(1)); No PSQL : Insert into foo (texto) values ('a'); Insert into foo (texto) values ('b'); Insert into foo (texto) values ('c'); Via Delphi/Zeos Mesmo item acima numa query. Problema : Ao pegar o result set da tabela acima o seqüencial está : seqtexto 1 a 3 b 5 c Ou seja ele está pulando a seqüencia, mesmo sabendo que não tenho uma trigger para isto e ou não tenho outras transações usando esta sequence. Alguém poderia me ajudar? Att. Rubens José Rodrigues ___ 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] RES: Problema com sequence : c riando intervalo involuntário.
Opsss Sim Jota eu coloquei no script, apenas aqui no email que engoli o nextval . . . Att. Rubens José Rodrigues -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Jota Enviada em: sexta-feira, 14 de novembro de 2008 13:44 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Problema com sequence : criando intervalo involuntário. Olá, Faltou o nextval não? create sequence minha_sequence; create table minha_tabela(codigo int default nextval('minha_sequence'), nome text); []s 2008/11/14 Rafael Sousa [EMAIL PROTECTED]: tenta criar a sequence assim: CREATE SEQUENCE nomedaseq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; até... rafael sousa 2008/11/14 Rubens José Rodrigues [EMAIL PROTECTED] Pessoal, Eu já tive este problema mas sinceramente deu branco aqui e não havia documentado. Cenário: Estrutura Windows Vista PostgreSQL 8.3.3, compiled by Visual C++ build 1400 Zeos 6.6.2-RC Lógica create sequence seq_foo start with 1; create table foo (seq bigint default ('seq_foo'::regclass), texto varchar(1)); No PSQL : Insert into foo (texto) values ('a'); Insert into foo (texto) values ('b'); Insert into foo (texto) values ('c'); Via Delphi/Zeos Mesmo item acima numa query. Problema : Ao pegar o result set da tabela acima o seqüencial está : seqtexto 1 a 3 b 5 c Ou seja ele está pulando a seqüencia, mesmo sabendo que não tenho uma trigger para isto e ou não tenho outras transações usando esta sequence. Alguém poderia me ajudar? Att. Rubens José Rodrigues ___ 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 -- João Paulo www.dextra.com.br/postgres PostgreSQL ___ 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] OFF-TOPIC - NOVO SERVIDOR RHEL 5 NAO RECONHECE 16 GB MEMORIA. (SERVIDOR PG)
Pessoal, Bom dia!!! Iniciamos hoje a preparação do novo servidor PostgreSQL (previamente discutido aqui formas de tunning) em nossa empresa. Optamos por usar o RHEL 5 x86_64. Tudo ocorreu tranquilamente (raid 10), config do PG, ambiente Java etc. . . Porém, mesmo após o evento OS Mode Install o sistema só reconhece 3 GB de memória, quando na verdade o main memory é de 16 GB. Em contato com o suporte da RH tentamos alterar o grub.conf (/boot/grub/grub.conf) para Mem=16000M e nada. Alguém teria uma luz e saberia me informar o caminho das pedras para resolver isto? Desde já agradeço a todos, Att -- Rubens J Rodrigues -- No virus found in this outgoing message. Checked by AVG. Version: 8.0.100 / Virus Database: 270.1.0/1492 - Release Date: 09/06/2008 10:29 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: OFF-TOPIC - NOVO SERVIDOR RHEL 5 NAO RECONHECE 16 GB MEMORIA. (SERVIDOR PG)
Nosso Servidor é um R900 da Dell. Ainda não fiz o contato com eles, mas de ante-mão posso dizer que é homologado. -- Rubens J Rodrigues Analista de Suporte - TI Abrevo do Brasil Distribuidora Ltda Phone : 55+27+2121-8734 Mobile : 55+27+9979-0372 Skype-me : rjorodrigues -- -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Aldrey Galindo Enviada em: terça-feira, 10 de junho de 2008 08:40 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] OFF-TOPIC - NOVO SERVIDOR RHEL 5 NAO RECONHECE 16 GB MEMORIA. (SERVIDOR PG) Rubens, Tem um servidor que ajudo a administrar que possue o RHEL 5 x86_64 com kernel-2.6.18-92.1.1 (o mais novo, mais o padrão dele também encontrou os 16G) e ele trabalha bem. Ele não teve problema de ver toda a memória, apenas foi feito mudanças para trabalhar melhor com elas (tuning). Qual o fabricante? Já perguntou para o mesmo se ele homologou o RHEL 5? (desculpe antecipadamente a pergunta) Abraços, Aldrey Galindo 2008/6/10 Rubens José Rodrigues [EMAIL PROTECTED]: Pessoal, Bom dia!!! Iniciamos hoje a preparação do novo servidor PostgreSQL (previamente discutido aqui formas de tunning) em nossa empresa. Optamos por usar o RHEL 5 x86_64. Tudo ocorreu tranquilamente (raid 10), config do PG, ambiente Java etc. . . Porém, mesmo após o evento OS Mode Install o sistema só reconhece 3 GB de memória, quando na verdade o main memory é de 16 GB. Em contato com o suporte da RH tentamos alterar o grub.conf (/boot/grub/grub.conf) para Mem=16000M e nada. Alguém teria uma luz e saberia me informar o caminho das pedras para resolver isto? Desde já agradeço a todos, Att -- Rubens J Rodrigues -- No virus found in this outgoing message. Checked by AVG. Version: 8.0.100 / Virus Database: 270.1.0/1492 - Release Date: 09/06/2008 10:29 ___ 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 No virus found in this incoming message. Checked by AVG. Version: 8.0.100 / Virus Database: 270.1.0/1492 - Release Date: 09/06/2008 10:29 No virus found in this outgoing message. Checked by AVG. Version: 8.0.100 / Virus Database: 270.2.0/1494 - Release Date: 10/06/2008 07:22 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Recebimento de Mensagens do Grupo, com problemas?
Pessoal, Não tenho recebido mensagens do grupo, será problema? -- Rubens J Rodrigues Phone : 55+27+2121-8734 Mobile : 55+27+9979-0372 Skype-me : rjorodrigues -- No virus found in this outgoing message. Checked by AVG. Version: 8.0.100 / Virus Database: 269.23.16/1432 - Release Date: 14/05/2008 07:49 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Dúvidas em como montar Função q ue retorne cálculos e multiplos regitros.
Pessoal, Até achei na internet algo que explicasse como criar funções mas sinceramente não consegui e não entendi, vou passar o cenário e depois a necessidade : Cenário : PG := PostgreSQL 8.2.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) Cenário : TABELA A TABELA B CODUSUARIOSEQ NOMEUSUARIO CODUSUARIO REF TABELA A (CODUSUARIO) DATA DESCRICAOSERVICO VALOR Necessidade : Criar uma function passando como parâmetro de entrada o período (x,y) fizesse um sum nos valores entre o período x e y e retornasse : Exemplo de retorno : CODUSUARIO | NOME | VALOR 001RUBENS 1.00 002JOSE 1.10 003RODRIGUES1.20 Sei que o São Google ajuda e muito mas não consegui entender realmente. Fui no site do www.postgresql.org.br li quase toda a documentação que ensina a criar function mas não ficou claro para mim. Desde já agradeço, -- Rubens J Rodrigues Phone : 55+27+2121-8734 Mobile : 55+27+9979-0372 Skype-me : rjorodrigues -- No virus found in this outgoing message. Checked by AVG. Version: 8.0.100 / Virus Database: 269.23.16/1432 - Release Date: 14/05/2008 07:49 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] AGRADECIMENTO ==== RES: Auxilio na indicação de Raid (ou não) e configuração do servidor. ==== = AGRADECIMENTO.
Olá todos! Bom dia Gostaria de agradecer a importante ajuda em debater sobre as possibilidades de portar o novo servidor. Um abraço, Att -- Rubens J Rodrigues Skype-me : rjorodrigues -- -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Leandro DUTRA Enviada em: segunda-feira, 28 de abril de 2008 15:02 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Auxilio na indicação de Raid (ou não) e configuração do servidor. 2008/4/28 Shander Lyrio [EMAIL PROTECTED]: Leandro DUTRA escreveu: Mas que é o nível de RAID mais seguro, isso é. Não entrei no mérito de o RAID 10 ser o mais ou o menos seguro. E sim no texto: Nunca se usa RAIDs a não ser 10 com base de dados. Por favor, não mexa no que outros disseram. Não coloquei um ponto final, continuei: '...a menos que se saiba muito bem o que se faz'. E por favor não seja violento verbalmente, pega muito mal. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED] ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral No virus found in this incoming message. Checked by AVG. Version: 8.0.100 / Virus Database: 269.23.6/1403 - Release Date: 29/04/2008 07:26 No virus found in this outgoing message. Checked by AVG. Version: 8.0.100 / Virus Database: 269.23.6/1403 - Release Date: 29/04/2008 07:26 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Auxilio na indicação de R aid (ou não) e configuração do servidor .
A controladora é uma Array PERC 6/i SAS 3GB/S com 256 MB ECC e com bateria e o Servidor é da Dell (R900). -- Rubens J Rodrigues -- -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Euler Taveira de Oliveira Enviada em: sexta-feira, 25 de abril de 2008 14:23 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Auxilio na indicação de Raid (ou não) e configuração do servidor. Rubens José Rodrigues wrote: a) Intel Xeon E7310 Quad-Core de 1.60 GHZ (quatro processadores EM64T) 16 GB Ram 667 MHZ 5 discos de 500 GB SAS 15K RPM Tu não disse o mais importante: a controladora. a) O que indicam em substituição ao RHEL? Você tem que utilizar o SO que se sente mais confortável em administrar. Tendo em mente, é claro, que o PostgreSQL tem uma melhor performance no Linux e no FreeBSD. b) A migração para o PG 8.3 é tranqüila? Sim. Aconselho-te a ler as notas de lançamento pois tivemos por exemplo a integração do tsearch ao backend e a remoção de algumas conversões implícitas. Monte um ambiente de teste para verificar se está tudo OK. c) Deveríamos pensar em algum tipo de RAID? Sim. Como você dispõe de poucos discos o aconselhável é o RAID 1+0. Aconselho-te reservar um disco (lógico -- no caso de utilizar RAID) para o log de transação por causa do seu volume de transações. d) Indicariam algum tipo de configuração para este cenário? Não adiantaria chutar aqui porque não conhecemos a sua aplicação. Existem vários guias de performance por aí. Dê uma olhada no histórico da lista. -- Euler Taveira de Oliveira http://www.timbira.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
[pgbr-geral] RES: Auxilio na indicação de Raid (ou não) e configuração do servidor .
Pegando o gancho do Fábio : a) Segurança que usaremos (e usamos) Dumping do banco Log das Transações Arquive Command b) Fazemos copias de segurança em Fitas DLT diariamente e nas sextas de todo o sistema (partições que referenciam o banco). Ao passo que sub-entendo que teoricamente estou com o mínimo possível em termos de backup. Neste caso se o quesito acima está correto procuramos desempenho!!! -- Rubens J Rodrigues Skype-me : rjorodrigues -- -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Fábio Telles Rodriguez Enviada em: sexta-feira, 25 de abril de 2008 15:15 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Auxilio na indicação de Raid (ou não) e configuração do servidor. 2008/4/25, Benedito A. Cruz [EMAIL PROTECTED]: Sim eu sei, mas aqui há uma restrição importante: E a performance com RAID 5 é bastante aceitável para meu caso. Veja que o custo não parece ser um problema neste caso uma vez que um único disco já tem espaço suficiente para tudo. Se ele tem 5 discos, então é porque ele deve querer algo mais. Para mim ainda fica a dúvida entre o que é mais importante, segurança ou desempenho. []s Fábio Telles -- blog: http://www.midstorm.org/~telles/ e-mail / jabber: [EMAIL PROTECTED] ___ 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] RES: RES: Auxilio na indicaç ão de Raid (ou não) e configuração do servidor.
Infelizmente não, temos um contrato de fidelidade com Dell então tudo tem de ser Dell durante os próximos 24 meses. -- Rubens J Rodrigues -- -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Leandro DUTRA Enviada em: sexta-feira, 25 de abril de 2008 15:17 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] RES: Auxilio na indicação de Raid (ou não) e configuração do servidor. 2008/4/25, Dickson Guedes [EMAIL PROTECTED]: Rubens José Rodrigues escreveu: A controladora é uma Array PERC 6/i SAS 3GB/S com 256 MB ECC e com bateria e o Servidor é da Dell (R900). A 6/i é integrada, mas o throughput dela é bom, a escolha é boa, verifique apenas as questoes de suporte do driver, pois a limitação estará nele, para a plataforma operacional que voce optar. Verifique no site da Dell o driver especifico para o SO que voce precisa. Hm, acabo de lembrar que a Dell não suporta Debian. Ou você vai com a cara e a coragem, ou roda Red Hat mesmo. Costuma funcionar, mas você fica por conta do suporte — costuma funcionar melhor que o da Dell, é mais uma questão política. Se você confiar no teu chefe. Ou ainda dá tempo de pegar uma HP suportada? -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED] +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 +55 (11) 5685 2219MSN: msnim:[EMAIL PROTECTED] ___ 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] função executada em determinado t empo
Olá, Caso esteja usando como S.O Linux, pode-se usar o cron, caso seja Windows use o agendador de tarefas. Rubens Emanoel Tadeu escreveu: Prezados, tenho uma função para ser executada numa tabela do postgre. porém, gostaria que ela fosse exeutada a cada 3 min. como eu faria uma trigger, ou outro método fazer essa temporização de função? alguma sugestão? -- -- Emanoel Tadeu ___ 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] OFF - PGFOUINE (ERRO)
William, Já verifiquei tanto no syslog e stderr e nao funcionou, ele ainda nao reconhece o log. Tem algum email para eu enviar e vc testar em seu ambiente o meu log? Rubens William Leite Araújo escreveu: Desculpe-me a insistência, mas olha o que o comando pgfouine --help mostra: -logtype logtype log type: syslog or stderr. Default is syslog. for stderr, you have to use the following log_line_prefix: '%t [%p]: [%l-1] ' Acredito que seja um problema. Em 02/10/07, Rubens José Rodrigues [EMAIL PROTECTED] escreveu: Pensei, nisto. Reli a simples documentacao do pgfouine. Vi que apenas pede-se para colocar log_line_prefix = 'user=%u,db=%d' o resto é default. Bom . . . De qualquer forma, tudo bem, eu agradeço a atenção. Obrigado William. William Leite Araújo escreveu: Fatalmente suas linhas de LOG não estão no formato que o pgfouine aceita. Precisa ler a documentação pra configurar o servidor para logar do jeito certo... Em 02/10/07, Rubens José Rodrigues [EMAIL PROTECTED] escreveu: William, Este é um dos erros que aparecem : Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 1 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: REWRITER STATISTICS - log line 25 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 38 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: REWRITER STATISTICS - log line 62 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 75 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: REWRITER STATISTICS - log line 99 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PLANNER STATISTICS - log line 111 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 123 PHP Fatal error: Call to undefined function: appendcontext() in /usr/share/pgfouine/include/postgresql/lines/PostgreSQLContextLine.class.php on line 51 [EMAIL PROTECTED] log]$ pgfouine.php -debug -file /var/log/pgsql.log log.html Using parser: SyslogPostgreSQLParser Using accumulator: PostgreSQLAccumulator Using listeners: GlobalCountersListener, SlowestQueriesListener, NormalizedQueriesListener Memory usage: 1.54 mo Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 1 we just closed a LogBlock, line number should be 1 and is 2 - log line 2 line command number: 1 we just closed a LogBlock, line number should be 1 and is 3 - log line 3 line command number: 1 we just closed a LogBlock, line number should be 1 and is 4 - log line 4 line command number: 1 we just closed a LogBlock, line number should be 1 and is 5 - log line 5 line command number: 1 we just closed a LogBlock, line number should be 1 and is 6 - log line 6 line command number: 1 we just closed a LogBlock, line number should be 1 and is 7 - log line 7 line command number: 1 we just closed a LogBlock, line number should be 1 and is 8 - log line 8 line command number: 1 we just closed a LogBlock, line number should be 1 and is 9 - log line 9 line command number: 1 we just closed a LogBlock, line number should be 1 and is 10 - log line 10 line command number: 1 we just closed a LogBlock, line number should be 1 and is 11 - log line 11 line command number: 1 we just closed a LogBlock, line number should be 1 and is 12 - log line 12 line command number: 1 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: REWRITER STATISTICS - log line 25 we just closed a LogBlock, line number should be 1 and is 3 - log line 27 line command number: 3 current block command number: 2 we just closed a LogBlock, line number should be 1 and is 4 - log line 28 line command number: 3 we just closed a LogBlock, line number should be 1 and is 5 - log line 29 line command number: 3 we just closed a LogBlock, line number should be 1 and is 6 - log line 30 line command number: 3 we just closed a LogBlock, line number should be 1 and is 7 - log line 31 line command number: 3 we just closed a LogBlock, line number should be 1 and is 8 - log line 32 .. PHP Fatal error: Call to undefined function: appendcontext() in /usr/share/pgfouine/include/postgresql/lines/PostgreSQLContextLine.class.php on line 51 William Leite Araújo escreveu: Olhei no código do arquivo. Ele já a inclui... (ini_set( 'include_path', '.:/usr/share/pgfouine/').. Acrescente a opção -debug e veja se algum erro é mostrado... Em
Re: [pgbr-geral] OFF - PGFOUINE (ERRO)
Olá, Meu Sistema : PostgreSQL 8.2.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) Base : 64 GB Memoria : 6 GB 4 Discos SCSI 15K Método de Chamada do pgfouine : pgfouine -file /var/log/pgsql.log relatorio.html Obrigado Rubens Bom uso o linux William Leite Araújo escreveu: Em 01/10/07, Rubens J Rodrigues [EMAIL PROTECTED] escreveu: Pessoal, Baixei e instalei o pgfouine. Estou tentando rodar o log mas aparece a seguinte mensagem : PHP Fatal error: Call to undefined function: appendcontext() in /usr/share/pgfouine/include/postgresql/lines/PostgreSQLContextLine.class.php on line 51 Linux? Windows? Provavelmente um caminho errado nos includes (requires) do arquivo. E não gera o arquivo de saida. Alguem pode me indicar uma lista de discussão e ou me ajudar a resolver isto? Obrigado, att Rubens J Rodrigues ___ 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 -- - Rubens J Rodrigues Analista de Suporte TI Depto. de Informática Abrevo do Brasil Distribuidora Ltda. Phone : +55 (27) 2121-8734 Mobile Phone : +55 (27) 9979-0372 Skype-me : rjorodrigues - ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] OFF - PGFOUINE (ERRO)
William, Inclui o path (no meu caso é /etc/php.ini) e nada. A mesma mensagem de erro Rubens William Leite Araújo escreveu: Bom, sabe onde fica o arquivo de configuração do cliente php instalado? No Debian é /etc/php[5|4]/cli/php.ini Procure pela linha include_path e veja se acrescentando à mesma o diretório /usr/share/pgfouine/include não resolve... Em 02/10/07, Rubens José Rodrigues [EMAIL PROTECTED] escreveu: Olá, Meu Sistema : PostgreSQL 8.2.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) Base : 64 GB Memoria : 6 GB 4 Discos SCSI 15K Método de Chamada do pgfouine : pgfouine -file /var/log/pgsql.log relatorio.html Obrigado Rubens Bom uso o linux William Leite Araújo escreveu: Em 01/10/07, Rubens J Rodrigues [EMAIL PROTECTED] escreveu: Pessoal, Baixei e instalei o pgfouine. Estou tentando rodar o log mas aparece a seguinte mensagem : PHP Fatal error: Call to undefined function: appendcontext() in /usr/share/pgfouine/include/postgresql/lines/PostgreSQLContextLine.class.php on line 51 Linux? Windows? Provavelmente um caminho errado nos includes (requires) do arquivo. E não gera o arquivo de saida. Alguem pode me indicar uma lista de discussão e ou me ajudar a resolver isto? Obrigado, att Rubens J Rodrigues ___ 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 ___ 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] OFF - PGFOUINE (ERRO)
Pensei, nisto. Reli a simples documentacao do pgfouine. Vi que apenas pede-se para colocar log_line_prefix = 'user=%u,db=%d' o resto é default. Bom . . . De qualquer forma, tudo bem, eu agradeço a atenção. Obrigado William. William Leite Araújo escreveu: Fatalmente suas linhas de LOG não estão no formato que o pgfouine aceita. Precisa ler a documentação pra configurar o servidor para logar do jeito certo... Em 02/10/07, Rubens José Rodrigues [EMAIL PROTECTED] escreveu: William, Este é um dos erros que aparecem : Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 1 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: REWRITER STATISTICS - log line 25 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 38 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: REWRITER STATISTICS - log line 62 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 75 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: REWRITER STATISTICS - log line 99 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PLANNER STATISTICS - log line 111 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 123 PHP Fatal error: Call to undefined function: appendcontext() in /usr/share/pgfouine/include/postgresql/lines/PostgreSQLContextLine.class.php on line 51 [EMAIL PROTECTED] log]$ pgfouine.php -debug -file /var/log/pgsql.log log.html Using parser: SyslogPostgreSQLParser Using accumulator: PostgreSQLAccumulator Using listeners: GlobalCountersListener, SlowestQueriesListener, NormalizedQueriesListener Memory usage: 1.54 mo Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: PARSER STATISTICS - log line 1 we just closed a LogBlock, line number should be 1 and is 2 - log line 2 line command number: 1 we just closed a LogBlock, line number should be 1 and is 3 - log line 3 line command number: 1 we just closed a LogBlock, line number should be 1 and is 4 - log line 4 line command number: 1 we just closed a LogBlock, line number should be 1 and is 5 - log line 5 line command number: 1 we just closed a LogBlock, line number should be 1 and is 6 - log line 6 line command number: 1 we just closed a LogBlock, line number should be 1 and is 7 - log line 7 line command number: 1 we just closed a LogBlock, line number should be 1 and is 8 - log line 8 line command number: 1 we just closed a LogBlock, line number should be 1 and is 9 - log line 9 line command number: 1 we just closed a LogBlock, line number should be 1 and is 10 - log line 10 line command number: 1 we just closed a LogBlock, line number should be 1 and is 11 - log line 11 line command number: 1 we just closed a LogBlock, line number should be 1 and is 12 - log line 12 line command number: 1 Unrecognized LOG or DEBUG line: user=pgsql,db=apoiorhLOG: REWRITER STATISTICS - log line 25 we just closed a LogBlock, line number should be 1 and is 3 - log line 27 line command number: 3 current block command number: 2 we just closed a LogBlock, line number should be 1 and is 4 - log line 28 line command number: 3 we just closed a LogBlock, line number should be 1 and is 5 - log line 29 line command number: 3 we just closed a LogBlock, line number should be 1 and is 6 - log line 30 line command number: 3 we just closed a LogBlock, line number should be 1 and is 7 - log line 31 line command number: 3 we just closed a LogBlock, line number should be 1 and is 8 - log line 32 .. PHP Fatal error: Call to undefined function: appendcontext() in /usr/share/pgfouine/include/postgresql/lines/PostgreSQLContextLine.class.php on line 51 William Leite Araújo escreveu: Olhei no código do arquivo. Ele já a inclui... (ini_set( 'include_path', '.:/usr/share/pgfouine/').. Acrescente a opção -debug e veja se algum erro é mostrado... Em 02/10/07, Rubens José Rodrigues [EMAIL PROTECTED] escreveu: William, Inclui o path (no meu caso é /etc/php.ini) e nada. A mesma mensagem de erro Rubens William Leite Araújo escreveu: Bom, sabe onde fica o arquivo de configuração do cliente php instalado? No Debian é /etc/php[5|4]/cli/php.ini Procure pela linha include_path e veja se acrescentando à mesma o diretório /usr/share/pgfouine/include não resolve... Em 02/10/07, Rubens José Rodrigues [EMAIL PROTECTED] escreveu: Olá, Meu Sistema : PostgreSQL 8.2.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) Base : 64 GB Memoria : 6 GB 4 Discos SCSI 15K Método de Chamada do pgfouine : pgfouine -file /var/log/pgsql.log relatorio.html Obrigado Rubens Bom uso o linux William Leite Araújo escreveu: Em 01/10
[pgbr-geral] Problemas de Mensagens Nesta Lista.
Pessoal, Não se estou com problemas ou a lista, porém não tenho recebido mensagens da lista e quando as recebo somente as retirada da lista, eu quero sair da lista. Será que temos algum problema? Ou será que eu é que estou com problemas de receber as mensagens? Rubens ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Problemas ao restaurar backup.
Obrigado André. Funcionou perfeitamente. Rubens André Ricarte escreveu: Dump pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f teste.backup BANCO Restore pg_restore.exe -i -h localhost -p 5432 -U postgres -d BANCO -v teste.backup On 8/14/07, Rubens J Rodrigues [EMAIL PROTECTED] wrote: Pessoal, Bom dia!!! Estou saindo (tentando) do ambiente de testes para o ambiente de produção, onde faço um backup de uma base usando o pg_dump, porém quando vou para o ambiente de produção e tento usar o pg_restore me mostra um erro. Antes de mais nada vamos aos detalhes : Servidor de testes : PostgreSQL 8.2.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) Maquina mono processada com um unico disco Servidor de Produção : PostgreSQL 8.2.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.3 20041212 (Red Hat 3.4.3-9.EL4) Maquina dual com 4 discos. Metodo de backup no ambiente de produçao : script : #!/bin/bash clear echo -e 'Iniciando processo de backup . . . ' DATA=`date +%d%m%Y%H%M%S` PASTA=/pg/sistemas/apoiorh/backup/ ARQUIVO='apoiorh' pg_dump -v apoiorh $PASTA$ARQUIVO$DATA.dmp tar -cpzf $PASTA$ARQUIVO$DATA.tar.gz $PASTA$ARQUIVO$DATA.dmp rm -f $PASTA$ARQUIVO$DATA.dmp clear echo -e 'Backup finalizado com sucesso!' Metodo para restauração pretendida no ambiente de produção : pg_restore -d NOMEBASEDADOS NOARQUIVO.DMP Mensagem de erro : pg_restore: [archiver] input file does not appear to be a valid archive Metodo de transferencia do arquivo de um servidor para outro : ambiente de testes - ambiente de producao ftp, binary mode transfer. Conto com a ajuda de voces para me ajudar neste problema. - Rubens J Rodrigues - ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- - Rubens J Rodrigues Analista de Suporte TI Depto. de Informática Abrevo do Brasil Distribuidora Ltda. Phone : +55 (27) 2121-8734 Mobile Phone : +55 (27) 9979-0372 Skype-me : rjorodrigues - ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Pegar o primeiro e o ultimo dia de um mes informado.
Pessoal, Precisava saber quantos dias e qual o primeiro e ultimo dia de um mes informado. Alguem pode me ajudar? -- - Rubens J Rodrigues Skype-me : rjorodrigues - ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Pegar o primeiro e o ultimo dia de um mes informado.
Obrigado Jackson! Era o que eu precisava. . . . Jackson escreveu: O primeiro sempre sera 1, o ultimo vc pode incrementar o mes e diminir um dia, Exemplo CREATE OR REPLACE FUNCTION sp_obtem_ultimo_dia(Mes INTEGER, Ano INTEGER) RETURNS INTEGER AS $$ DECLARE UltimoDiaMes INTEGER; BEGIN SELECT EXTRACT(DAY FROM ((Ano||'/'||(Mes + 1)||'/01'):: DATE - 1)) INTO UltimoDiaMes; RETURN UltimoDiaMes; END; $$ LANGUAGE 'plpgsql'; Rubens José Rodrigues escreveu: Pessoal, Precisava saber quantos dias e qual o primeiro e ultimo dia de um mes informado. Alguem pode me ajudar? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- - Rubens J Rodrigues Skype-me : rjorodrigues - ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Pegar o primeiro e o ultimo dia de um mes informado.
Olá Sebastian, Sou fã de carteirinha do manual (quase durmo com ele debaixo do travesseiro), porém nele não consegui visualizar (realmente não visualizei) uma solução para a seguinte necessidade : Tenho uma function, que vai gerar uma certa quantidade de registros para cada dia de um determinado mes, então minha ideia seria passar o mes de referencia como entrada, exemplo : select * from fnc_teste (mesref varchar); Neste caso eu pegaria o mes ref, exemplo se for 07/2007. Eu faria uma pesquisa para saber quantos dias tem o mes 07. Após retornar a qtde de dias, eu pesquisaria para saber o ultimo dia deste mes (se é 30, se é 31, se é 27, se é 28). Será que consegui faze-lo entender minha necessidade? Conto com a ajuda de voces, att. Rubens Sebastian SWC escreveu: dá uma olhada se isso[1] pode te ajudar... o manual é vosso amigo!!! [1] http://pgdocptbr.sourceforge.net/pg80/functions-datetime.html -- Atenciosamente, Sebastian Selau Webber Colombo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- - Rubens J Rodrigues Skype-me : rjorodrigues - ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Erro em Function.
Colegas, Segue abaixo uma function que criei compila sem nenhum erro, mas quando vou usa-la apresenta a seguinte mensagem de erro : -- FUNCTION DE LOGIN CREATE TYPE login_sistema as (loginseq_s integer, usuario_s varchar(20), gruposeq_s integer, grupo_s varchar(20)); CREATE OR REPLACE FUNCTION fnc_login ( e_login varchar(20), e_senha varchar(32) ) RETURNS SETOF login_sistema AS $body$ DECLARE reg login_sistema%ROWTYPE; BEGIN FOR REG IN SELECT usuarios.seq , usuarios.nome, grupousuarios.seq, grupousuarios.grupo FROM usuarios LEFT OUTER JOIN uniao_grupo_usuario ON uniao_grupo_usuario.codusuario=usuarios.seq LEFT OUTER JOIN grupousuarios ON uniao_grupo_usuario.codgrupo=grupousuarios.seq WHERE usuarios.login=$1 AND usuarios.senha=md5($2) ORDER BY grupousuarios.seq,usuarios.seq LOOP REG.loginseq_s:=usuarios.seq; REG.usuario_s:=usuarios.nome; REG.gruposeq_s:=grupousuarios.seq; REG.grupo_s:=grupousuarios.grupo; RETURN NEXT REG; END LOOP; RETURN NEXT REG; RETURN; END; $body$ LANGUAGE 'plpgsql' ; - MENSAGEM AO USAR O SELECT NA FUNCTION ERROR: missing FROM-clause entry for table usuarios at character 8 QUERY: SELECT usuarios.seq CONTEXT: PL/pgSQL function fnc_login line 17 at assignment Alguem poderia me ajudar? Obrigado Rubens ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral