Re: consulta de novato en postgres

From: Gustavo Pardo <dataneu(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: consulta de novato en postgres
Date: 2006-02-21 03:33:48
Message-ID: 200602210033.48289.dataneu@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Monday 20 February 2006 15:50, Alvaro Herrera wrote:
> Gustavo Pardo escribió:
> > hola, estoy comenzando con postgres y quería hacerles un par de
> > consultas:
> >
> > 1. ¿existe en postgres el equivalente del tipo de dato "enum" de mysql?
> > si no existe, ¿cómo acostumbran a resolverlo?
>
> No, no existe. En modelo relacional, lo que se hace es tener una tabla
> adicional con todos los valores posibles, y en la otra tabla pones una
> llave foranea apuntando hacia esa tabla de valores.
>
> Hay quien prefiere usar el truco del CHECK, pero esto puede ser
> problematico porque no esta realmente normalizado. Por ejemplo si
> tienes valores como "recien llegado", "en proceso", y "completado",
> entonces esos strings se van a repetir en cada uno de los registros y
> tendras un problema serio de rendimiento (ademas de ser un dolor de
> cabeza tremendo cuando quieras cambiar un valor). Una alternativa es
> usar "char" (un byte).
>
> Otro problema del CHECK es que agregar un nuevo valor implica hacer
> modificaciones de la estructura de la tabla, mientras que usando la
> tabla de valores simplemente debes insertar un nuevo registro ahi.
>
>
> La gente que viene de MySQL suele tenerle miedo a usar tablas de
> valores porque el rendimiento es muy malo. Esto es un defecto de MySQL,
> no del modelo. Postgres es mucho mas inteligente y maneja estas cosas
> (joins) de mucho mejor manera.
>
> > 2. CentOS instala por default la versión 7.4 de PostgreSQL, pero veo que
> > va por la 8.1.3, qué me recomiendan, compilo la 8.1.3? o me quedo con la
> > 7.4.
>
> Si quieres usar la 8.1, te recomiendo que tomes el SRPM que se genera
> para la version equivalente de Red Hat Enterprise y compiles un RPM para
> tu sistema. Entiendo que deberian estar en alguna parte de
> ftp.postgresql.org y sus mirrors.
>
> > Sería algo así como la diferencia de versiones entre la 4.1.x y la 5.0.xx
> > de mysql?
>
> Nada que ver.

muchas gracias Alvaro, muy clara tu explicación.

saludos.
--
Gustavo Pardo

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Espartano 2006-02-21 03:44:21 Re: consulta de novato en postgres
Previous Message Alvaro Herrera 2006-02-21 02:20:30 Re: Recorrido de un cursor