Skip site navigation (1) Skip section navigation (2)

Re: cuanto pesa un campo

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Miguel Angel Hernandez Moreno <miguel(dot)hdz(dot)mrn(at)gmail(dot)com>
Cc: Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: cuanto pesa un campo
Date: 2010-11-24 20:39:34
Message-ID: 1290630922-sup-7774@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Excerpts from Miguel Angel Hernandez Moreno's message of mié nov 24 14:23:04 -0300 2010:
> hola lista
> 
> disculpen alguien sabe cuanto pesa en bytes cada campo de la siguiente lista
> 
> character(4)
> integer

alvherre=# select pg_column_size(42::int);
 pg_column_size 
────────────────
              4
(1 fila)

alvherre=# select pg_column_size('abcd'::char(4));
 pg_column_size 
────────────────
              8
(1 fila)

alvherre=# select pg_column_size('a'::char(4));
 pg_column_size 
────────────────
              8
(1 fila)

alvherre=# select pg_column_size('a'::varchar(4));
 pg_column_size 
────────────────
              5
(1 fila)


etc.

Si estás tratando de determinar el ancho de un registro considera
alineamiento.  Por ej. un bool seguido de un int ocupan en total 8
bytes, debido a que el int tiene alineamiento 4.

Otro ejemplo que puede ser útil:
alvherre=# create table hdz (a bool, b int);
CREATE TABLE
alvherre=# insert into hdz values ('t', 42);
INSERT 0 1
alvherre=# select pg_column_size(hdz.*) from hdz;
 pg_column_size 
────────────────
             32
(1 fila)


Nota: cada tupla tiene un header de 23 bytes si mal no recuerdo (depende
de la versión) Agrega el tamaño del bitmap de nulos, de haberlo.

Más info en la sección "storage" del manual.

-- 
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2010-11-24 21:09:49
Subject: Re: para que se usan los usuarios sin password
Previous:From: Martín MarquésDate: 2010-11-24 20:38:34
Subject: Repetidos errores en un servidor

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group