Saludos, Cristina. Te respondo entre líneas
On 21/04/15 03:47, Cristina Pedroviejo wrote:
Buenos días.
Estoy empezando con postgresql y valorando si puedo sustituir mi base
de datos actual que es oracle, por postgresql.
Existe una utilidad llamada ora2pg que permite migrar una buena parte de
las funciones propias de Oracle, a una similar en PostgreSQL. En el caso
de dbms_pipe/dbms_aq, creo que ambas están dentro de ora2pg.
Hay una característica de oracle que necesito es el dbms_pipe o
dbms_aq, en enterprisedb hay algo similar, estoy intentando averiguar
si bien con el notify/lister se puede sustituir o bien llamando a
alguna función en c desde postgresql.
PostgreSQL está desarrollado en C, por lo que puedes escribir funciones
directamente en C, por supuesto con una sintáxis determinada. Hay varias
formas de conectarte a PostgreSQL desde C:
1- libpq la cual es la API de C para PostgreSQL. Básicamente permite a
programas clientes pasar consultas al backend de PostgreSQL y recibir
los resultados de las mismas.
2- ECPG: SQL Embebido en C, donde se mezcla C con SQL para construir
programas clientes
3- SPI (Server Programming Interface), el cual brinda a los
desarrolladores funciones en C definidas por el usuario que tienen la
habilidad de ejecutar comandos SQL dentro de las mismas.
No he visto muchos ejemplos del tema, si alguno pudiera ayudarme
estaría muy agradecida.
Busca el sitio oficial de ora2pg y ahí encontrarás varios ejemplos de
cómo migrar una función desarrollada en Oracle, a cómo se traduciría a
PostgreSQL. Para los ejemplos de SPI, puedes consultar la documentación,
en el Capítulo 44 específicamente (Sección 44.5). Para los ejemplos de
C, puedes usar la sección 31.21.
Parte del código está en C y estoy tratando de "escribir" una librería
similar a la que utilizamos para la conexión con oracle, para que así
no haya que tocar los programas. De momento, desde C y siguiendo
ejemplos si que consigo conectar y leer los datos, pero me queda
enviarlos tal y como lo hacíamos con oracle.
Buscar los ejemplos de la última sección que te dije, y ahí encontrarás
todo lo que necesitas.
Un saludo
Antes de imprimir este mensaje considere su responsabilidad con el
medio ambiente.
Este e-mail y cualquiera de sus ficheros anexos son confidenciales y
pueden incluir información privilegiada. Si usted no es el
destinatario adecuado o responsable, debe remitirlo a la persona
indicada, agradeceríamos lo notificase/reenviase inmediatamente al
emisor. No revele estos contenidos a ninguna otra persona, no los
utilice para otra finalidad, ni almacene y/o copie esta información en
medio alguno. Opiniones, conclusiones y otro tipo de información
relacionada con este mensaje que no sean relativas a la actividad
propia de LOGÍSTICA Y TELECOMUNICACIÓN, S.L, deberán ser entendidas
exclusivas del emisor.
Logística y Telecomunicación, S.L
Tf: 91-8871260
Fax: 91-8831011
Avd. Punto Es, 4 Alcalá de Henares (Madrid) 28805
http://logytel.es/
-
Enviado a la lista de correo pgsql-es-ayuda
(pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda