jorge sanfelice escreveu:

> Qual o fator de compressao dessa tecnica LZ? É eficiente tipo um zip, ei 
> la....?
> 
25%. Sim, vide [1] para comparação entre outros formatos.

> Eu nao consegui achar esse arquivo 
> "src/backend/utils/adt/pg_lzcompress.c" em minha instalacao, sera que 
> isso quer dizer que os arquivos gravados na tabelas nao serao comprimidos?
> 
Você deve olhar no código-fonte [2].

> Como faço pra saber o tamanho que ficou esse arquivo no pg_toast... ?
> 
O tamanho não tem como saber porque ele *não* separa cada arquivo armazenado 
por arquivo de dados físico; o PostgreSQL armazena os dados de cada tabela em 
arquivos de no máximo 1GB e isso é verdadeiro para tabelas toast também.

Para saber qual o tamanho do arquivo criado para tabela toast basta fazer:

euler=# select oid,datname from pg_database where datname ~ 'euler';
   oid  | datname
-------+---------
  16384 | euler
(1 registro)

euler=# \d+ foo
                  Tabela "public.foo"
  Coluna | Tipo | Modificadores | Storage  | Descrição
--------+------+---------------+----------+-----------
  a      | text |               | extended |
Têm OIDs: não

euler=# select oid,relname,reltoastrelid from pg_class where relname ~ 'foo';
   oid  | relname | reltoastrelid
-------+---------+---------------
  24597 | foo     |         24600
(1 registro)

euler=# \q
eu...@harman ~ $ ls -lah $PGDATA/base/16384/24*
-rw------- 1 euler users 8,0K Mai  3 16:42 data/base/16384/24597
-rw------- 1 euler users 232K Mai  3 16:42 data/base/16384/24600
-rw------- 1 euler users  24K Mai  3 16:42 data/base/16384/24600_fsm
-rw------- 1 euler users  16K Mai  3 16:42 data/base/16384/24602

O arquivo 24600 é o que contém os dados da coluna 'a' da tabela 'foo'.


[1] 
http://en.wikipedia.org/wiki/Comparison_of_file_archivers#Comparison_of_efficiency
[2] 
http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/pg_lzcompress.c?rev=1.33
[3]


-- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a