Re: [pgbr-geral] dúvida trigger

2012-01-14 Por tôpico Moisés Caribé
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

2011-04-15 Por tôpico Moisés Caribé
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

2011-03-15 Por tôpico Moisés Caribé
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

2011-03-11 Por tôpico Moisés Caribé
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

2011-03-10 Por tôpico Moisés Caribé
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

2011-03-10 Por tôpico Moisés Caribé
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 ?

2010-12-11 Por tôpico Moisés Caribé Ribeiro
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

2010-11-15 Por tôpico Moisés Caribé Ribeiro
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

2010-10-10 Por tôpico Moisés Caribé
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

2010-09-10 Por tôpico Moisés Caribé
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

2010-09-05 Por tôpico Moisés Caribé
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