Re: Doble tamaño en Toast ?

From: Oswaldo Hernández <listas(at)soft-com(dot)es>
To: Xavier Vidal <xvpxvp(at)menta(dot)net>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Doble tamaño en Toast ?
Date: 2005-06-14 13:13:17
Message-ID: 42AED7ED.2040205@soft-com.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola,

Xavier Vidal escribió:
> Saludos
>
>
> En unos ejemplos del libro "PHP and PostgreSQL advanced web programming"
> había uno de inserción de documentos como Toasted Text.
>
> Lo que me extrañó fue que el archivo ocupaba el doble cuando estaba en la
> base de datos, alguien sabe porqué?
>
> Os pego el texto del ejemplo:
>
> <? php
> arxiu = ’/home/xavividal/recepta-pizza.txt’;
>
> $dbh = pg_connect(”host=localhost user=xavividal dbname=casa”);
> if (!$dbh)
> echo ”error al conectar<br>”;
>
> $fp = fopen($arxiu,”r”);
> $fstats = fstat($fp);
> $data = fread($fp, $fstats[6]);
>
>
> $hexdata = bin2hex($data);
>
> $sql = ”INSERT INTO receptes (recepta,grandaria) VALUES
> (’$arxiu’,’$hexdata’);
>
> $stat = pg_exec($dbh, $sql);
> if(!$stat)
> {
> echo ”les dades no es poden afegir a la taula”;
> exit;
> }
> else
> {
> echo ”les dades s’han afegit”;
> }
> ?>
>
> El archivo ocupa 1.200 bytes, sin embargo al almacenarlo en PostgreSQL ocupa
> 2.400 bytes.
>

Eso es consecuencia de la conversion a hexadecimal, 1 byte en formato
binario se convierte a 2 en el formato hexadecimal. Al convertirlo
tienes la ventana de poder almacenar el archivo en un campo de texto,
pero como ves, el tamaño se duplica.

Saludos,

--
*****************************************
Oswaldo Hernández
oswaldo(at)soft-com(dot)es
*****************************************

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message olivia jurado 2005-06-14 15:17:25 Hola buenos Dias
Previous Message Edwin Quijada 2005-06-14 13:09:12 Test