SQL para hacer cast de postgres 8.2 para postgres 8.3

Cuando se realiza la migración de postgres 8.2 a postgres 8.3, no todos los tipos de datos son iguales, y es necesario hacer unos cast de tipo, y de funciones para que todo funcione correctamente. Para ello basta con ejecutar las siguientes sentencias SQL:

CREATE FUNCTION pg_catalog.text(INTEGER) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
CREATE CAST (INTEGER AS text) WITH FUNCTION pg_catalog.text(INTEGER) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(SMALLINT) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int2out($1));';
CREATE CAST (SMALLINT AS text) WITH FUNCTION pg_catalog.text(SMALLINT) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(oid) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(oidout($1));';
CREATE CAST (oid AS text) WITH FUNCTION pg_catalog.text(oid) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(DATE) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(date_out($1));';
CREATE CAST (DATE AS text) WITH FUNCTION pg_catalog.text(DATE) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(DOUBLE PRECISION) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(float8out($1));';
CREATE CAST (DOUBLE PRECISION AS text) WITH FUNCTION pg_catalog.text(DOUBLE PRECISION) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(REAL) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(float4out($1));';
CREATE CAST (REAL AS text) WITH FUNCTION pg_catalog.text(REAL) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(TIME WITH TIME zone) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(timetz_out($1));';
CREATE CAST (TIME WITH TIME zone AS text) WITH FUNCTION pg_catalog.text(TIME WITH TIME zone) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(TIME WITHOUT TIME zone) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(time_out($1));';
CREATE CAST (TIME WITHOUT TIME zone AS text) WITH FUNCTION pg_catalog.text(TIME WITHOUT TIME zone) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(TIMESTAMP WITH TIME zone) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(timestamptz_out($1));';
CREATE CAST (TIMESTAMP WITH TIME zone AS text) WITH FUNCTION pg_catalog.text(TIMESTAMP WITH TIME zone) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(INTERVAL) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(interval_out($1));';
CREATE CAST (INTERVAL AS text) WITH FUNCTION pg_catalog.text(INTERVAL) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(BIGINT) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
CREATE CAST (BIGINT AS text) WITH FUNCTION pg_catalog.text(BIGINT) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(NUMERIC) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(numeric_out($1));';
CREATE CAST (NUMERIC AS text) WITH FUNCTION pg_catalog.text(NUMERIC) AS IMPLICIT;
CREATE FUNCTION pg_catalog.text(TIMESTAMP WITHOUT TIME zone) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(timestamp_out($1));';
CREATE CAST (TIMESTAMP WITHOUT TIME zone AS text) WITH FUNCTION pg_catalog.text(TIMESTAMP WITHOUT TIME zone) AS IMPLICIT;

Artículos relacionados:

Tags: , , ,

Jueves, agosto 28th, 2008 SQL-Bases Datos

2 comentarios en SQL para hacer cast de postgres 8.2 para postgres 8.3

  1. Excelente aporte Jonathan! gracias a tu publicación hemos migrado exitosamente las base de datos de Postgres 8.2 a 8.3 sin afectar las aplicaciones.

    Solo el conocimiento nos hace libres.

    Éxitos!

  2. Carlos A. Lizcano D. escribió el 12 junio, 2011
  3. Gracias por la ayuda Jhonatan, resolví mi problema con la migración de 8.1 a 8.4. Bravo

  4. jose vazquez escribió el 12 enero, 2012

Deja un comentario


Buscador

 

Mi foto aleatoria

dsc_0431.jpg
 
 

Comentarios recientes

Natty: Actualmente Facebook ya permite navegar en https. ...
Maria del mar: Estoy totalmente de acuerdo vergonzoso! Me ha pasa...
F. Javier: Bueno , pensaba que solo yo tenia problemas con "E...
jose vazquez: Gracias por la ayuda Jhonatan, resolví mi problem...
Marisa: COMO MAREAR LA PERDIZ: LLamo al 900847384 de Aten...
carloscarlosnasarre: hola a mi tambien me atendio un personaje de endes...
Victor David: El video esta muy gracioso lo vi 3 veses y realme...
Enrique: tu link Descargar generador de sitemap para Google...
daniellillo: esta mui vien...
kalia: Me gusta la información útil que usted proporcio...
Matt Stoner: Tons of great info....thanks. I'm going to share ...
Josey: El caso de Facebook es más justificable… Ut...
alicia: hola amigo me podria dar los precios como cuantos ...
Ignacio: Por fin encuentro alguien que oriente el cómo den...
Jonathan Echeverria: Hola, ¿El problema es que no puedes mostrar la...
RASEC28: Hola Jonathan gracias por contestar no he logrado...
Jonathan Echeverria: Hola, por supuesto que es posible,ya que la MV la ...
RASEC28: HOLA A TODOS, SOY NUEVO EN ESTO DE LAS VM NECESITO...
soraya: a mi me han atendido tres operadores diferentes,ca...
Roinel Cequea: Buenas noches amigo, mi blog presenta ese problema...
totci: Gracias por tomarse el tiempo para discutir esto ,...
Diego Estrada Moreno: Desafortunadamente todo lo que se comenta en esta ...
Juan: A ti, al menos, te han cogido el teléfono. A mí...
mario fernandez: quisiera compartirla, con mis amigos , como hago...
mario fernandez: muy bueno, me agradaria mas como este, son hermoso...
mario fernandez: muy bueno...
LUIS: NO HE VISTO UN SERVICION DE ATENCION TAN MALO COMO...
Carlos A. Lizcano D.: Excelente aporte Jonathan! gracias a tu publicaciÃ...
Cristina: Mientras espero que ENDESA me conteste, he encontr...
Pedro Rueda Villegas: Gracias por compartir es de mucha ayuda, y nos qui...