Re: [pgbr-geral] Tamanho em bytes de Tabela Vazia

2010-01-27 Por tôpico Alexsander Rosa
http://www.postgresql.org/docs/current/static/datatype-character.html

The storage requirement for a short string (up to 126 bytes) is 1 byte plus
the actual string, which includes the space padding in the case of character.
Longer strings have 4 bytes of overhead instead of 1. Long strings are
compressed by the system automatically, so the physical requirement on disk
might be less.

-- 
Atenciosamente,
Alexsander da Rosa
Linux User #113925

Extremismo na defesa da liberdade não é defeito.
Moderação na busca por justiça não é virtude.
-- Barry Goldwater
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Tamanho em bytes de Tabela Vazia

2010-01-26 Por tôpico letgaude

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 ? 

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


Re: [pgbr-geral] Tamanho em bytes de Tabela Vazia

2010-01-26 Por tôpico JotaComm
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


Re: [pgbr-geral] Tamanho em bytes de Tabela Vazia

2010-01-26 Por tôpico JotaComm
Olá,

2010/1/26 JotaComm jota.c...@gmail.com

 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.


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
 pgbr-geral@listas.postgresql.org.br
 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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral