Re: [pgbr-geral] dúvida trigger
Você faz uma trigger só de insert, ou seja, registros novos, e trata o null dentro da função. Abraços; Moisés. Em 13 de janeiro de 2012 10:20, Pedro Costa pedrocostaa...@sapo.ptescreveu: Pessoal, eu tenho o seguinte trigger e função: http://pastebin.com/KxxTekd0 ele executa o trigger sempre para todos os registos, será que podem dizer-me como faço para que ele execute apenas para novos registos e para campos com valor null? Obrigado ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Ajuda com select
Segue um exemplo: SELECT t.menu[1] AS r_no_menu, t.menu[2] AS r_id_menu, t.menu[3] AS r_nu_posicao, t.menu[4] AS r_ed_url, t.menu[5] AS r_no_perfil, t.menu[6] AS r_id_perfil, t.menu[7] AS r_id_menu_pai, t.menu[8] AS r_no_menu_pai, t.cadastrar AS r_in_cadastrar, t.consultar AS r_in_consultar, t.editar AS r_in_editar, t.excluir AS r_in_excluir, t.imprimir AS r_in_imprimir FROM crosstab(' SELECT ARRAY[m.men_no_menu::text, m.men_id_menu::text, m.men_nu_posicao::text, m.men_ed_url::text, p.per_no_perfil::text, p.per_id_perfil::text, m.men_id_menu_pai::text, m2.men_no_menu::text] As menu, f.fun_tx_funcao::text As funcao, pmf.per_in_permissao As valor FROM sc_seguranca.tbfuncao f INNER JOIN sc_seguranca.tbpermissao pmf ON f.fun_co_funcao = pmf.fun_co_funcao INNER JOIN sc_seguranca.tbperfil p ON pmf.per_id_perfil = p.per_id_perfil INNER JOIN sc_seguranca.tbmenu m ON pmf.men_id_menu = m.men_id_menu LEFT JOIN sc_seguranca.tbmenu as m2 on m.men_id_menu_pai = m2.men_id_menu ORDER BY m.men_no_menu, p.per_no_perfil'::text, ' select f1.fun_tx_funcao as func from sc_seguranca.tbfuncao f1'::text) t(menu text[], cadastrar boolean, consultar boolean, editar boolean, excluir boolean, imprimir boolean); Espero ter ajudado. 2011/4/15 Leonardo Cezar lhce...@gmail.com 2011/4/15 fabiano.fernandes cont...@fabianofernandes.adm.br: Preciso recuperar essas informações da seguinte forma: ID | PNAME | ACT - A | WEIGHT | ACT - C | WEIGHT | ACT - B | WEIGHT -+---+-+--+-+---++-- 3 | Bolt | 9.5|2 | 4.0 | 2 | 2.5|1 Utiliza as funções crosstab do módulo tablefunc do diretório contrib. -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 -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] FATAL: banco de dados não existe
Euler; Obrigado pelo apoio. Estamos fazendo uns testes e volto depois com as respostas em cima do que você falou. Valeu!!! Em 11 de março de 2011 14:15, Euler Taveira de Oliveira eu...@timbira.comescreveu: Em 11-03-2011 09:30, Moisés Caribé escreveu: Vamos lá: SO = Fedora 9 Ninguém apagou os arquivos, mas o serviço do postgres estava sem querer iniciar e o responsável pelo SO executou o comando: pg_resetxlog /var/lib/pgsql/data Nunca execute o pg_resetxlog a não ser que saiba o que está fazendo. Existe uma janela embora muito pequena entre remover os arquivos do banco de dados e realizar a efetivação da transação. Uma possibilidade é que o pg_resetxlog tenha voltado no tempo tornando visíveis as tuplas do pg_database relativas aos 3 bancos de dados e talvez algumas tuplas em pg_shdepend. Espero ter esclarecido suas dúvidas. Nunca vi isso na vida. A única coisa da qual suspeito é o pg_resetxlog, mas como excluir essas bases agora? Para apagar estas entradas órfãs, siga os passos abaixo: $ pg_ctl stop -D /meu/pgdata $ postgres --single -D /meu/pgdata backend select oid,datname from pg_database where datname in ('foo', 'bar', 'baz'); backend delete from pg_database where datname = 'foo'; backend delete from pg_database where datname = 'bar'; backend delete from pg_database where datname = 'baz'; backend delete from pg_shdepend where dbid in (1, 2, 3); -- coloque os oid obtidos acima aqui backend ^D $ pg_ctl start -D /meu/pgdata -- 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 -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] FATAL: banco de dados não existe
Vamos lá: SO = Fedora 9 Ninguém apagou os arquivos, mas o serviço do postgres estava sem querer iniciar e o responsável pelo SO executou o comando: pg_resetxlog /var/lib/pgsql/data seguindo orientações de outros administradores, mas esse comando limpou as bases e tivemos que restaurar os backups. Nâo aconselho o seu uso para conseguir iniciar o serviço do postgres. O comando SELECT que você pediu para executar retorna 20 bases inclusive as 3 que não existem. Todas com oid e nome. Se eu clicar numa das 3 bases via pgadmin, o sistema diz que elas não existem, mas depois informa seu oid no painel da direita. $PGDATA está vazia, portanto, para aparecer as bases eu tenho que executar este comando ls que você cita de /var/lib/pgsql/data. Espero ter esclarecido suas dúvidas. Nunca vi isso na vida. A única coisa da qual suspeito é o pg_resetxlog, mas como excluir essas bases agora? Atte; Moisés. Em 10 de março de 2011 18:24, Euler Taveira de Oliveira eu...@timbira.comescreveu: Em 10-03-2011 16:28, asmoises escreveu: Senhores; Estou com um problema: ao listar as bases de dados com comando SELECT * FROM PG_DATABASE aparecem 3 bancos que não consigo dropar, ou seja, na verdade, os bancos aparecem na lista, mas não existem. As pastas não existem no SO. Criei elas para ver se o SGBD conseguia apagá-las, mas nada feito. Alguém sabe como posso fazer para forçar sua exclusão da lista de bases do pg_database já que as bases não existem? Tentei executar um delete no pg_database passando o oid da base, mas o sistema dá 0 rows affected. Obrigado. Estranho. Alguém apagou os arquivos manualmente (ao invés de utilizar DROP DATABASE)? Qual o SO? E as saídas de: SELECT oid,datname FROM pg_database; ls $PGDATA/base -- 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 -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] FATAL: banco de dados não existe
PostgreSQL 8.4.0 Em 10 de março de 2011 16:35, Leonardo Cezar lhce...@gmail.com escreveu: 2011/3/10 Leandro DUTRA leandro.gfc.du...@gmail.com: 2011/3/10 asmoises asmoi...@gmail.com: Estou com um problema: ao listar as bases de dados com comando SELECT * FROM PG_DATABASE aparecem 3 bancos que não consigo dropar Quais, e em que versão? #medo -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 -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] FATAL: banco de dados não existe
Acho que o nome das bases é o que menos importa quando elas são criadas pelo usuário, mas lá vai: geproldev db_rec scd Atte; Moisés. Em 10 de março de 2011 17:11, Leandro DUTRA leandro.gfc.du...@gmail.comescreveu: 2011/3/10 Moisés Caribé asmoi...@gmail.com: PostgreSQL 8.4.0 E quais as bases? -- 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 -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Como fazer esse UPDATE ?
Meu caro; O problema é que o postgreSQL não aceita alias na tabela que você vai alterar. Sendo assim, utilize da forma que mostro abaixo, tirando o a e colocando a cláusula from e where. Deve funcionar. De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Marcelo Silva Enviada em: sexta-feira, 10 de dezembro de 2010 14:20 Para: Comunidade PostgreSQL Brasileira Assunto: [pgbr-geral] Como fazer esse UPDATE ? Pessoal no MySQL eu faço esse update update mv_vendas_pre_itens set cod_ope = b.cod_usu, cod_usu = b.cod_usu, cod_ven = b.cod_usu from mv_vendas_pre b where b.pedido = mv_vendas_pre_itens.pedido Mas no Postgres não vai... Como fazer um Update no postgres pegando os valores da tabela X para atualizar a tabela Y ??? Marcelo Silva msn: marc...@ig.com.br Tel.: (11) 2962-7390 Cel.: (11) 9693-4251 Programador: Delphi, PHP Linux Kubuntu User number is # 24362 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Indice composto
Meu caro; Utilização de índices depende de uma série de fatores: - Tabelas pequenas não utilizam índices - Saiba dosar a criação deles nas tabelas sabendo que muitos índices numa mesma tabela degradam operações de insert, update e delete quando intensas - Crie índices por campos que são utilizados em cláusula where ou join - campos nulos não utilizam índices Esta situação que você apresenta eu acho preciptada. Isso é aplicado no desespero quando nada mais resolve. A princípio, preocupe-se apenas em criar o índice em cima dos filtros utilizados. Lembre-se também que você já tem um índice único pelo título, ou seja, se o seu filtro for só pelo título, não precisa criar outro índice. Abraço De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Beto Lima Enviada em: segunda-feira, 15 de novembro de 2010 17:45 Para: pgbr-geral@listas.postgresql.org.br Assunto: [pgbr-geral] Indice composto Pessoal me digam uma coisa: Se eu usar indices compostos, posso ter problemas de performance na minha base? Ex: tenho uma tabela com os seguintes campos CREATE TABLE agendas ( id_agenda serial NOT NULL, titulo character varying(200) NOT NULL, descricao text, data_inicio_agenda timestamp without time zone NOT NULL, data_fim_agenda timestamp without time zone NOT NULL, CONSTRAINT agendas_pk PRIMARY KEY (id_agenda), CONSTRAINT agendas_titulo_key UNIQUE (titulo), CONSTRAINT agendas_check CHECK (data_fim_agenda data_inicio_agenda) ) E meu indice: CREATE INDEX indice_busca ON agendas USING btree (titulo, descricao, data_inicio_agenda, data_fim_agenda); Tenho um form onde tenho estes campos do indice para fazer busca na tabela. Ta tudo na boa? ou é campo demais e posso perder performance!!! valeu ___ 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 DE PERFORMANCE COM SGBD
Sebastião; Evite virtualizações em ambientes de produção. O sistema fica mais lento devido à escrita em arquivos (maq virtual) do disco; Avalie o plano de execução das consultas para ver a necessidade de criação de índices ou o excesso deles; Verifique as seguintes variáveis do postgresqk.conf: max_connections = trabalhe com uma folga shared_buffers = 20 a 25% da ram (para máquina dedicada utilize 25) effective_cache_size (25 a 50%) (para máquina dedicada utilize 50) enable_bitmapscan = on enable_hashagg = on enable_hashjoin = on enable_indexscan = on enable_mergejoin = on enable_nestloop = on enable_seqscan = off enable_sort = on enable_tidscan = off Ative as estatísticas e o autovacuum. Sei que você já pode ter feito muitas dessas coisas, mas, infelizmente, terás que fazer um pente-fino para descobrir o problema. Esse é o início. Espero ter ajudado. Moisés. Em 10 de outubro de 2010 11:43, sebastiao fidencio sfiden...@gmail.comescreveu: Pessoal, temos um sgbd postgres versao 8.3 rodando em um datacenter virutalizado, + Vmware 4 + Linux Suse 11 Enterprise + 16 GB d RAM + 250GB de espaço em disco + 100GB o tamanho atual do bd de produção + Cerca de 100 Conexões simultanea Problemas: 1. Objeto Sequência da NF/NFE eventualmente incrementa 2 valores, recentemente incrementou 11 valores o que pode ser isso? 2. Sistema do nada começa a ficar lento quando os usuarios tentam emitir relatorio, até mesmo logar no sistema, onde são poucas a consultas ao logar. 3. As vezes acontece do Servidor Travar que só um reset na VM resolve o problema não entendo o que está acontecendo, alguem pode ajudar? 4. O Servidor Fisico é da HP (38GB de RAM TOTAL.. e salvo erro 78GHZ de processamento com nucleos.) Já foi feito tunnig no mesmo, e não resolveu, quando era no DELL power edge 1800, não tinhamos esse problema, era portanto uma maquina fisica dedicada so pra SGBD agora depois que migrou estamos com esses problemas, já cogitaram em migrar prá oracle, mas acho que não é bem por ai, alguem tem alguma sugestão ou já teve algum problema parecido nesse cenário? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tuning Postgres
Sugiro que você dê uma olhada em http://pgdocptbr.sourceforge.net/pg80/runtime-config.html. Lá tem muitos parâmetros do postgresql.conf que é onde, por exemplo, você estabelece o número de conexões simultâneas suportadas. Esse link é um bom começo. Atte; Moisés. Em 10 de setembro de 2010 10:16, Cicero Ronaldo cicero.rona...@gmail.comescreveu: Bom dia Senhores, Este é meu primeiro post na lista, estou necessitando efetuar um tuning em Postgres pois a aplicação que estarei utilizando com esta base grava muitos arquivos por segundo e abre muitas conexões. Estarei utilizando para gravar arquivos de logs de acesso em tempo real, desta maneira estou querendo efetuar um ajuste fino no Postgres. Alguém tem alguma experiência com tuning em Postgres? Poderiam me ajudar de alguma maneira? Desde já agradeço. Abaixo segue configuração do servidor que instalei o Postgres: 2 - Processadores - 2.8Ghrz 8GB - Memória 400GB de Disco ( Está em um Storage) Obs.: Está máquina é uma máquina virtual rodando sobre Hyper-V. Abs! Cícero Ronaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] DBLINK - ERRO DE CONEXÃO
Sem comentários até aqui. Em 31 de agosto de 2010 19:57, Osvaldo Kussama osvaldo.kuss...@gmail.comescreveu: Em 31 de agosto de 2010 16:33, asmoises asmoi...@gmail.com escreveu: Galera; Em primeiro lugar, quero dizer que já tentei esgotar todos os recursos para resolver o problema que lhes apresentarei agora. É o seguinte: estou utilizando o dblink para fazer um acesso a outro servidor. A consulta (bem simples) está abaixo: select t.nome from dblink ('dbname=banco hostaddr=10.0.3.86 user=usuario password=senha port=5432', 'select nome from tabela') as t (nome varchar(50)); Em primeiro lugar, fiz esta chamada da minha máquina local na mesma rede da máquina 10.0.3.86 e funcionou perfeitamente. SEM PROBLEMAS ATÉ AQUI. Acontece que, depois de feito este primeiro teste de localhost acessando 10.0.3.86, mudei a máquina de origem que acessa a 10.0.3.86, que está na mesma rede. Só que, usando esta outra máquina (omega), acontece o seguinte erro: ERRO: could not establish connection DETAIL: não pôde conectar ao servidor: Permissão negada O servidor está executando na máquina 10.0.3.86 e aceitando conexões TCP/IP na porta 5432? O usuário que uso para o acesso remoto é superusuário no servidor 10.0.3.86 e da máquina localhost, dita acima, a query funciona, portanto não pode ser permissão de banco. O firewall foi desligado. O pg_hba.conf foi configurado e cheguei até a colocar o método de autentiicação trust no desespero. O listen_address do postgresql.conf está '*'. O servidor está executando nessa máquina (10.0.3.86) e na porta 5432. Como vocês podem ver, já fiz de tudo. Alguém já passou por isso? Alguém tem alguma luz e pode dizer o que está acontecendo? Desde já agradeço a ajuda de todos. Atte; Moisés. A entrada host do pg_hba.conf contempla o endereço da máquina cliente? Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Moisés Caribé Ribeiro AD, DBA asmoi...@gmail.com 71-91350152 MCTS 70-431 https://mcp.microsoft.com/authenticate/validatemcp.aspx Transcript ID: 879519 Access Code: 884D1F114FF24 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral