Re: [pgsql-es-ayuda] Calcular el tamaño de un varchar y de un text!!!

From: Jaime Casanova <jaime(at)2ndquadrant(dot)com>
To: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Calcular el tamaño de un varchar y de un text!!!
Date: 2011-05-21 02:21:28
Message-ID: BANLkTim-h6OeiuP6MZ1Egs-xXM+8y54S7A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2011/5/20 Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>:
> Hola a todos en la lista, en la documentación de PostgreSQl aparece que un char ocupa un 1 byte de espacio.

ah! adonde dice eso?

http://www.postgresql.org/docs/9.0/static/datatype-character.html
(fijate que aclara "not bytes")
"""
SQL defines two primary character types: character varying(n) and
character(n), where n is a positive integer. Both of these types can
store strings up to n characters (not bytes) in length.
"""

de hecho hay una funcion char_length() que te dice el numerode
caracteres y una funcion octet_length() que te dice el numero de bytes

lo que pasa es que ademas hay un tipo de dato llamado "char" (comillas
dobles incluidas) que almacena 1 byte pero ese almacena un solo
caracter y nada mas y no deberia ser usado... solo existe para uso
interno del motor

> El tamaño de un varchar o de un campo de tipo text, estaría determinado por el número de caracteres que conformen la cadena, o
> existe alguna formula para calcular el tamaño de almacenamiento para estos tipos de datos?.

si estas usando utf8 ese es un encoding multibyte asi que puedes estar
usando entre 1 a 4 bytes por caracter (asi que no es tan facil como
decir 1 caracter = 1 byte) y a eso debes sumarle la cabecera que es de
4 bytes me parece

> Me sería de muchísima ayuda me ayudasen con esto, pues necesito calcular la tasa de crecimiento de mi base de datos.
>
> Adicionalmente, al total de espacio que ocupen los campos almacenados en una tupla, existe algún valor adicional que deba agregarse a este cálculo.
>

alrededor de 24 bytes por tupla

--
Jaime Casanova         www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-05-21 03:16:39 Re: Re: [pgsql-es-ayuda] Calcular el tamaño de un varchar y de un text!!!
Previous Message Jaime Casanova 2011-05-21 02:06:14 Re: realizar migracion y cluster 8.2 ha ultima version