[Pgsql-ayuda] MySQL => PGSQL

Gunnar Wolf gwolf@gwolf.cx
Tue, 9 Sep 2003 15:00:44 -0500


Martin Marques dijo [Tue, Sep 09, 2003 at 03:39:02PM -0300]:
> > > Estoy intentando darle soporte PGSQL a una aplicación que sólo corre con
> > > MySQL pero son muchas tablas y como no conozco mucho de BD mejor
> > > pregunto: cómo puedo pasar esta tabla de MYSQL a Postgresql?
> > >
> > > CREATE TABLE friend (
> > >   user_id int(11) NOT NULL default '0',
> > >   friend varchar(255) NOT NULL default '',
> > >   url varchar(255) NOT NULL default '',
> > >   PRIMARY KEY  (friend)
> > > ) TYPE=MyISAM;
> >
> > Casi casi igual: quitale el TYPE=MyISAM; y remplaza el int(11) por
> > numeric(11) y listo. Revisa la documentación en línea de PostgreSQL
> 
> int(11) es numeric(11)???
> La verdad es que no se tanto de MySQL, pero las veces que le pase uno de los 
> programas de migracion ese tipo de dato me lo paso a INT.

Eip.

int mide su longitud en bits - tienes int2 (smallint), int4 (integer) e
int8 (bigint), que miden 2, 4 y 8 bytes (16, 32 y 64 bits). No tiene
mucho sentido manejar la longitud del decimal más grande aceptado cuando
lo que buscas al definir el tamaño del campo es darle un espacio en la
representación interna.

De hecho, aprovechando a Álvaro: ¿Recomendarías el uso de numeric si no
es para imponer un formato (por ejemplo, 5 dígitos mas 2 decimales)? ¿No
es obvio que intx va a ser más eficiente en espacio de almacenamiento y
velocidad? Y ya que en complacencias... ¿Hay diferencia entre decimal y
numeric, o son aliases uno del otro?

Saludos,

PD: Pa' quien le interese,
http://developer.postgresql.org/docs/postgres/datatype.html#DATATYPE-NUMERIC 

-- 
Gunnar Wolf - gwolf@gwolf.cx - (+52-55)5630-9700 ext. 1366
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF