Olá,

2010/1/26 JotaComm <[email protected]>

> Olá,
>
> 2010/1/26 letgaude <[email protected]>
>
>
>> Ola,
>>
>> Preciso identificar quanto em bytes cada campo de uma tabela consome de
>> espaço em disco, para poder fazer uma previsão de calculo para
>> armazenamento
>> de dados no servidor . A tabela é :
>>
>> CREATE TABLE public.teste (
>>  sequencial BIGSERIAL,
>>  chave          VARCHAR(44) NOT NULL,
>>  valor1         NUMERIC(15,2) DEFAULT 0 NOT NULL,
>>  valor2         NUMERIC(16,4) DEFAULT 0 NOT NULL,
>>  valor3         NUMERIC(16,4) DEFAULT 0 NOT NULL,
>>  indicador  CHAR(1),
>>  tipo           INTEGER
>> ) WITHOUT OIDS;
>>
>> No meu entendimento, esta tabela teria 72 bytes (44 para o varchar, 9 para
>> cada numerico e 1 para o char) o que me daria uma conta simples: 72 bytes
>> *
>> 300.000 (qtde de registros q eu projetaria nesta tabela) = 21.600.000
>> bytes.
>>
>> As funções do postgres (pg_relation_size()) só me retornam dados
>> diferentes
>> de 0 bytes, caso eu tenho inserido algum registro na tabela. E fazendo
>> isto
>> ele me retorna 8192 bytes para 1 registro. Alguem pode me explicar que
>> calculo o Postgres faz para me retornar este valor ?
>>
>
> Para saber o tamanho de cada coluna você pode usar pg_column_size. O
> postgres usa páginas de 8Kb para armazenar as informações. O parâmetro que
> indica é BLCKSZ que é configurado no arquivo pg_config_manual.h e após
> alterado é necessário recompilar o PG.
>

Um detalhe que esqueci no email anterior, se você estivar usando o PG 8.4 o
parâmetro BLCKSZ está no arquivo pg_config.h.

>
> Para ver este valor você pode realizar a seguinte consulta:
>
> SELECT * FROM pg_settings WHERE name='block_size';
>
>>
>> Porque eu não posso simplesmente me basear na conta (tamanho da tabela *
>> qtde de registros) ?
>>
>> Obrigada
>>
>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/Tamanho-em-bytes-de-Tabela-Vazia-tp27327190p27327190.html
>> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
> []s
> --
> JotaComm
> http://jotacomm.wordpress.com
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a