Saudações.

Euler, acho que vc não entendeu. Atualmente no modelo de dados eu
NÃO tenho uma tabela com 504 colunas! (veja o que está grifado em
vermelho em minha explicação).

A tabela de respostas dos questionários, contem 504 linhas (uma para
cada célula resposta) como o conjunto de respostas de 1 (um) único
questionário.

A necessidade de obter 1 (um) único questionário em 1 (uma) única
linha com 504 colunas é que preciso processar um certo conjunto
de questionários e exportar tais dados para um processador de planilha
de dados. NÃO vou "apresentar" o set de dados dessa forma.

Outra coisa, após a extração do set de questionários do sistema, outros
usuários é quem decidirão que colunas querem ou precisam que existam
em suas planilhas, não é o sistema que fará isso. Entendeu? O sistema
é um mero coletor de dados e exportador.

Com relação a plataforma, temos:

SO: Fedora Core 6 Linux
Hardware: 2 x  Intel duoCore / 8Gb RAM / 2 x  Hd-150Gb hot-swap + raid5
PostgreSQL: 8.1.4
Aplicação: Apache 2 + Php 5.1x + Prado v2 + Adodb 4.3
(a plataforma da aplicação, roda em outro equipamento distinto, com igual
configuração; ambos ligados por fibra-ótica placa-a-placa).

Outra coisa, não vou recuperar os 807 questionários de uma vez só.
Eu não disse isso. Disse que vou desenvolver na aplicação, um laço
onde 1 a 1 vou recuperar os questionários e "guardá-los" num array
para daí exportá-los

Não entendí o teste que vc fez. Você Seletou 750 colunas ?

Grato,

MN.



Em 21/04/07, Euler Taveira de Oliveira <[EMAIL PROTECTED]> escreveu:

marcos nobre wrote:

>      Outro dia perguntei isso aqui na lista: se ha um numero limite de
>      colunas que podem ser recuperadas em uma instruc,ao SELECT, no
>      PostgreSQL.
>
Veja [1].

>      O problema e que tenho 870 questionarios, sendo que cada 1 contem
504
>      celulas de dados (respostas) e estou precisando recuperar as 504
atuais
>      linhas de 1 questionario na forma de uma unica linha com 504
colunas.
>      Posteriormente, por meio de um lac,o (loop) na aplicac,ao, a ideia
e
>      recuperar os 870 questionarios em 870 linhas com 504 colunas cada
uma.
>      Um recordset assim constituido: 870 linhas x 504 colunas.
>
Sinto lhe informar que a sua modelagem não está boa. Ter muitas colunas
em uma tabela não é uma boa prática! Além disso apresentar (creio que
está recuperando os dados para isso) 870 x 504 campos para um usuário é
impraticável; o que um usuário faria com tanta informação assim?
Por que quer trazer todos os questionários de uma só vez? Fiz um teste
aqui com 750 campos do tipo varchar(5) e 2.000 registros; ele consumiu
cerca de 2,1% da minha memória, ou seja, 20,5 MB.

>      Fiz um teste desta mesmes instruc,ao cortada `a metade e o
PostgreSQL
>      conseguiu me devolver as 252 colunas !
>
Você não disse qual versão do PostgreSQL, interface (jdbc, zeoslib,
etc), sistema operacional. O que quis dizer com retornar somente 252
colunas?

>      Bom, talvez haja algum parametro de configurac,ao do servidor que
possa
>      resolver essa questao, porem estou obtendo o seguinte erro, para a
>      instruc,ao que segue.
>
Para poder aumentar o número de colunas em uma tabela, é necessário
alterar o tamanho do bloco (padrão 8k) e recompilar o PostgreSQL [1], mas
acho que isso não é o seu caso.

>      Erro de SQL:
>
>  ERRO:  sem memoria
>  DETAIL:  Falhou ao requisitar o tamanho 1408.
>
Talvez o número de shared_buffers no seu servidor esteja baixo?


[1] http://www.postgresql.org/docs/faqs.FAQ_brazilian.html#item4.4

--
  Euler Taveira de Oliveira
  http://www.timbira.com/

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios




--
----------------------------------------------
Eng. Sistemas
Consultor em TI
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a