Comentarios
Migracion de Datos de Informix A PostgreSQL
La idea original de la migracion surgio con la necesidad de crear aplicaciones que pudieran ser portables entre Bases de Datos, en toda la extension de la palabra, como lograr esto, todos podemos crear un sistema en el lenguaje que deseemos, en este caso PHP.

Nuestro proyecto lo podemos mover de un lugar a otro siempre y cuando se cuente con la base de datos con la que trabaja nuestra aplicacion, y ademas que el proveedor de servicio tenga configurado el lenguaje con la base de datos, que pasa cuando te encuentras con el dilema de que el provedor del servicio no cuenta con tu base de datos.... buena pregunta verdad?.

Bueno, este es el punto clave que me llevo a realizar una migracion, porque? la idea era crear un codigo portable y que ademas, tambien pudieramos hacer portables los sql, en que sentido, por ejemplo existen muchas diferencias a la hora de trabajar con bases de datos distintas, una de las de mayor importancia es el manejo de las fechas, entonces, lo opte por tener distintas bases de datos con las mismas tablas con las que trabajan los modulos de mi aplicacion y probar el codigo como los enunciados SQL para que estos pudieran trabajar en cualquier base de datos, con la unica condicion de que esta base de datos este creada y sus respectivas tablas, para que la aplicacion pueda trabajar adecuadamente.

Migracion de datos de Informix a PostgreSQL.
lo primero es instalar la version de postgreSQL que vamos a utilizar, en mi caso fue la 4.7.

despues hay que crear la base de datos.

[home/sql]$ createdb name_database

si cuenta con los archivos .sql de informix, demosle una revizada ya que estos nos puden servir.

en primera intancia podemos hacer una copia del archivo .sql a otro con extension .pg, a el archivo .pg hay que revizarlo y corregirlo si es necesario, el archivo .pg final debe quedar de esta manera.

veamos el ejemplo:
Informix
Para comentar bloques en Informix se utilizan las llaves: { } para comentar una linea se utiliza el #.
    archivo.sql
    # Catalogo de claves y descripciones
    create table tableName (
            nameField1        smallint,                  { Clave del sistema             }
            nameField2        char(8),                   { Tipo de registro              }
            nameField3        int,                       { Numero de linea               }
            nameField4        char(74),                  { Referencia                    }
            nameField5        datetime year to minute,   { fecha de modificacion         }
            nameField6        char(8),                   { Usuario que lo modifico       }
            nameField7        char(8),                   { programa utilizado            }
            PRIMARY KEY (nameField1, nameField2, nameField3)
            );
    

PostgreSQL
Para comentar una linea en PostgreSQL se utiliza doble guion   --
    archivo.pg
    --- Catalogo de claves y descripciones
    create table tableName (
            nameField1        smallint,       --- Clave del sistema
            nameField2        char(8),        --- Tipo de registro
            nameField3        int,            --- Numero de linea
            nameField4        char(74),       --- Referencia
            nameField5        timestamp,      --- fecha de modificacion
            nameField6        char(8),        --- Usuario que lo modifico
            nameField7        char(8),        --- programa utilizado
            PRIMARY KEY (nameField1, nameField2, nameField3)
            );
    

ahora hay que crear nuestra tabla leyendo el archivo .pg que dejamos ya listo y preparado.

[home/sql]$ psql <archivo.pg

Una manera facil de poder pasar el contenido de una tabla de informix a postgres es:

  1. Teniendo un respaldo de esa tabla en un archivo de texto plano, en este caso yo conaba con un archivo txt.
  2. Tener bien identificados los delimitadores ya que si el COPY de postgres detecta un delimitador al final de cada linea manda un error, hay que quitar este ultimo delimitador, en mi caso utilizo el delimitador '|'.
  3. Realizar el COPY de la tabla origen a la tabla destino. de esta manera:
    copy tableName from '/u/soportes/tableName.txt' delimiter as '|' null as '';

NOTA: para realizar el copy de los datos es necesario que te encuentres dentro de la base de datos, entonces tedras que teclear psql nameDataBase esto nos mandara el prompt    nameDataBase = #. entonces ahora si hacemos el copy;

namedataBase = # copy ......