Olá, 2010/1/26 letgaude <letga...@gmail.com>
> > 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. 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 > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > []s -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral