Marcone,
para um update setando tudo como zero, criando o campo como defalut agiliza
bastante, mas o problema é quando eu tenho que recalcular um campo da
tabela toda ja nao daria, exemplo:

update tabela set campo3=campo1-campo3 where campo4=4

alguem teria outra sugestão?

Douglas Specht



Em 10 de abril de 2013 15:14,
<[email protected]>escreveu:

> Send pgbr-geral mailing list submissions to
>         [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> or, via email, send a message with subject or body 'help' to
>         [email protected]
>
> You can reach the person managing the list at
>         [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of pgbr-geral digest..."
>
>
> Tópicos de Hoje:
>
>    1. Parametros para uma PL (Joel Landim Mourão)
>    2. Re: Parametros para uma PL (Danilo Silva)
>    3. update lento (Douglas Fabiano Specht)
>    4. Re: Parametros para uma PL (Dickson S. Guedes)
>    5. Re: update lento (Marcone)
>    6. Re: Parametros para uma PL (Joel Landim Mourão)
>    7. Re: Parametros para uma PL (Marcone)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 10 Apr 2013 14:26:40 -0300
> From: Joel Landim Mourão <[email protected]>
> To: Comunidade PostgreSQL Brasileira
>         <[email protected]>
> Subject: [pgbr-geral] Parametros para uma PL
> Message-ID:
>         <
> cakwyk+wrn26stoqqe+p427rz1axoowakisn8m2wya+um2qq...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Boa tarde colegas,
>
> Bom minha duvida, tenho uma necessidade de passar 15 parametros para uma
> PL, existe alguma recomendação, ou sugestão para o caso.
>
> Terei casos usando versão 9.2 e 8.2 (sendo atualizados gradualmente)
>
> Obrigado a todos
>
> --
> Joel Landim Mourão
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20130410/45461ded/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 2
> Date: Wed, 10 Apr 2013 14:40:58 -0300
> From: Danilo Silva <[email protected]>
> To: Comunidade PostgreSQL Brasileira
>         <[email protected]>
> Subject: Re: [pgbr-geral] Parametros para uma PL
> Message-ID:
>         <
> ca+_jcprnpnaqxfqesn+fd9reiuamrrd5lv6_sixktq0lkad...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Em 10 de abril de 2013 14:26, Joel Landim Mourão <[email protected]
> >escreveu:
>
> > Boa tarde colegas,
> >
> > Bom minha duvida, tenho uma necessidade de passar 15 parametros para uma
> > PL, existe alguma recomendação, ou sugestão para o caso.
> >
> >
> > Analise a forma como a PL será chamada, pois geralmente temos situações
> em
> que a aplicação chama a PL e podemos também chamá-la diretamente pelo
> banco.
>
> Não sei dizer se é a melhor forma, mas veja o uso de ARRAYs.
>
> []s
> Danillo
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20130410/2d0bdaf6/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Wed, 10 Apr 2013 14:48:02 -0300
> From: Douglas Fabiano Specht <[email protected]>
> To: [email protected]
> Subject: [pgbr-geral] update lento
> Message-ID:
>         <
> ca+ejti35zeo-f8bchn0yq3rqd2xavntdfpx8nnuuxbcovfx...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> boa tarde pessoal,
> tenho uma tabela com uns 8 campos e 3.8 milhões de registros, ocorre que ao
> criar um campo novo e setar um valor nele logo após, está demorando em
> torno de 30min.
>
> comando
> ALTER TABLE custo  ADD COLUMN teste double precision;
> update custo set teste=0
>
> gostaria de uma orientação de quais variáveis podem interferir nesse tipo
> de comando.
> utilizo windows, mas fiz os testes tbm em linux e o tempo nao mudou muito.
>
> PG 9.2
> shared buffers=1GB
> work_mem=4MB
> maintenance_work_mem=1GB
> checkpoint_segments = 100
> checkpoint_timeout = 10min
> effective_cache_size = 2048MB
>
>
>
> abraços;;
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20130410/d545edd9/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 4
> Date: Wed, 10 Apr 2013 14:56:48 -0300
> From: "Dickson S. Guedes" <[email protected]>
> To: Comunidade PostgreSQL Brasileira
>         <[email protected]>
> Subject: Re: [pgbr-geral] Parametros para uma PL
> Message-ID:
>         <
> cahhcrepckuhbkbu5ykh_2krdo4t+_xo7ki7q3kqnowfgdix...@mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Em 10 de abril de 2013 14:26, Joel Landim Mourão <[email protected]>
> escreveu:
> > Boa tarde colegas,
> >
> > Bom minha duvida, tenho uma necessidade de passar 15 parametros para uma
> PL,
> > existe alguma recomendação, ou sugestão para o caso.
> >
> > Terei casos usando versão 9.2 e 8.2 (sendo atualizados gradualmente)
>
> O que você deseja talvez seria variadic functions [1]?
>
> A partir da versão 8.4 as PLs permitem seu uso [2] nas PLs, alguns
> blogs [3,4] demonstram algumas aplicações práticas.
>
> [1] http://en.wikipedia.org/wiki/Variadic_function
> [2]
> http://www.postgresql.org/docs/9.1/static/xfunc-sql.html#XFUNC-SQL-VARIADIC-FUNCTIONS
> [3] http://www.depesz.com/2008/07/31/waiting-for-84-variadic-functions/
> [4]
> http://www.postgresonline.com/journal/archives/211-Variadic-Functions-in-PostgreSQL.html
>
> --
> Dickson S. Guedes
> mail/xmpp: [email protected] - skype: guediz
> http://github.com/guedes - http://guedesoft.net
> http://www.postgresql.org.br
>
>
> ------------------------------
>
> Message: 5
> Date: Wed, 10 Apr 2013 15:02:53 -0300
> From: Marcone <[email protected]>
> To: Comunidade PostgreSQL Brasileira
>         <[email protected]>
> Subject: Re: [pgbr-geral] update lento
> Message-ID:
>         <
> caake11bp4m3qi75tfk8rnrnzorombtjzu_yn9h9bndc22d+...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Em 10 de abril de 2013 14:48, Douglas Fabiano Specht <
> [email protected]> escreveu:
> >
> > boa tarde pessoal,
> > tenho uma tabela com uns 8 campos e 3.8 milhões de registros, ocorre que
> ao criar um campo novo e setar um valor nele logo após, está demorando em
> torno de 30min.
>
> Isso é esperando ...
>
> > comando
> > ALTER TABLE custo  ADD COLUMN teste double precision;
> > update custo set teste=0
> >
> > gostaria de uma orientação de quais variáveis podem interferir nesse tipo
> de comando.
> > utilizo windows, mas fiz os testes tbm em linux e o tempo nao mudou
> muito.
>
> Minha sugestão é vc usar o comando "create table as" [1]. Altera essa
> tabela nova com a nova coluna que você deseja acrescentar
> Depois você faz um insert nessa nova tabela com um select da tabela de
> origem, acrescentando o valor default do novo campo.
>
> Exclui a tabela antiga e renomeia a nova.
>
> Atente para as sequences, indices, PK, FK, etc da nova tabela.
>
> Faz tudo em um ambiente de teste primeiro, valida o procedimento e depois
> executa onde tiver que executar.!!
>
> 1 - http://www.postgresql.org/docs/9.2/static/sql-createtableas.html
>
> --
> Marcone Peres - DBA
> http://www.linkedin.com/in/marconeperes
> http://oraculogeo.blogspot.com.br/
> @marconeperes
> (61) 8146-0028
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20130410/f95ed726/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 6
> Date: Wed, 10 Apr 2013 15:10:20 -0300
> From: Joel Landim Mourão <[email protected]>
> To: Comunidade PostgreSQL Brasileira
>         <[email protected]>
> Subject: Re: [pgbr-geral] Parametros para uma PL
> Message-ID:
>         <
> cakwyk+z8ij0xsshnpxvsdwb3cfoqz26rko6gtd2tonqoxdx...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> 2013/4/10 Dickson S. Guedes <[email protected]>
>
> > Em 10 de abril de 2013 14:26, Joel Landim Mourão <[email protected]>
> > escreveu:
> > > Boa tarde colegas,
> > >
> > > Bom minha duvida, tenho uma necessidade de passar 15 parametros para
> uma
> > PL,
> > > existe alguma recomendação, ou sugestão para o caso.
> > >
> > > Terei casos usando versão 9.2 e 8.2 (sendo atualizados gradualmente)
> >
> > O que você deseja talvez seria variadic functions [1]?
> >
> > A partir da versão 8.4 as PLs permitem seu uso [2] nas PLs, alguns
> > blogs [3,4] demonstram algumas aplicações práticas.
> >
> > [1] http://en.wikipedia.org/wiki/Variadic_function
> > [2]
> >
> http://www.postgresql.org/docs/9.1/static/xfunc-sql.html#XFUNC-SQL-VARIADIC-FUNCTIONS
> > [3] http://www.depesz.com/2008/07/31/waiting-for-84-variadic-functions/
> > [4]
> >
> http://www.postgresonline.com/journal/archives/211-Variadic-Functions-in-PostgreSQL.html
> >
> > --
> >
> >
>
> Em resposta das ultimas duas mensagens,
>
> Bom a PL será chamada pela aplicação apenas.
>
> Não preciso do uso do variadic, pois o numero de parametros é fixo, sem
> contar que posso ter o problema por estar usando o 8.2 também.
>
>
> --
> Joel Landim Mourão
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20130410/41f3c6e5/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 7
> Date: Wed, 10 Apr 2013 15:14:29 -0300
> From: Marcone <[email protected]>
> To: Comunidade PostgreSQL Brasileira
>         <[email protected]>
> Subject: Re: [pgbr-geral] Parametros para uma PL
> Message-ID:
>         <CAAkE11aU=
> [email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> 2013/4/10 Dickson S. Guedes <[email protected]>
> >
> > O que você deseja talvez seria variadic functions [1]?
> >
>
> Variadic funcitions são uma boa forma, mas é retrito a um único tipo de
> dados. Na praica é um array.
>
> Se os parâmetros a serem passados forem de tipos diferentes, você pode
> optar por criar uma tipagem específica [1] e usá-la como parâmetro em suas
> PLs.
>
> Com isso é possível criar um tipo como um "agregador" de várias
> propriedades e na sua função existiria apenas um parâmetro com o tipo
> criado.
>
> Além de ter certa compatibilidade com a versão 8.2 [2]
>
>
> 1 - http://www.postgresql.org/docs/9.2/static/sql-createtype.html
> 2 - http://www.postgresql.org/docs/8.2/static/sql-createtype.html
>
> --
> Marcone Peres - DBA
> http://www.linkedin.com/in/marconeperes
> @marconeperes
> (61) 8146-0028
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20130410/59931a63/attachment.html
> >
>
> ------------------------------
>
> Subject: Legenda do Digest
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
> ------------------------------
>
> Fim da Digest pgbr-geral, volume 52, assunto 36
> ***********************************************
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a