Re: [pgsql-es-ayuda] Copiar funciones entre bases de datos

2016-05-27 Por tema Francisco Olarte
Hola Jorge:

2016-05-27 13:48 GMT+02:00 Jorge Tornero - Listas :
> ¿Existe alguna manera de copiar funciones entre bases de datos? Me refiero a
> funciones creadas por el usuario y mediante un proceso tipo pg_dump o
> similar.

Prueba lo siguiente ( para linux, a mi me ha funcionado ):

1.- pg_dump schema only:

pg_dump -Fc -U usuario -h host -s -f tst.dmp database

Fundamental aqui, el -Fc ( lo mejor siempre para hacer cualquier
pg_dump ) y -s para schema only.

2.- Busca las funciones.

pg_restore -l tst.dmp | fgrep FUNCTION > tst.funcs

3.- Restauralas, en este caso yo te recomendaria hacerlo asi para
tener un SQL que verificar:

pg_restore -L tst.dic tst.dmp > funcs.sql

El combo -l / -L es de gran utilidada. Aparte de eso a mi me ha
ayudado en repetidas ocasiones cuando un restore da problemas y
quieres tocar algo a mitad. Cierto, con un .sql lo puedes editar, pero
con un -Fc puedes hacer un -l, partirlo en dos cachos, correr uno,
pasar un script de fixups, correr el otro, de ahi que recomiende
siempre el Fc ( ademas de un -Fc se saca el .sql, pero no al reves ).

Lo del -s arriba es por velocidad, tambien te funciona con cualquier
backup completo si ya tienes uno hecho.

Francisco Olarte.

-
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


Re: [pgsql-es-ayuda] Copiar funciones entre bases de datos

2016-05-27 Por tema Anthony Sotolongo
Hola Jorge, puedes usar una consulta como esta para obtener las 
funciones definidas por el usuario:



SELECT pg_get_functiondef(pr.oid)
  FROM pg_proc pr,
   pg_type tp
 WHERE tp.oid = pr.prorettype
   AND pr.proisagg = FALSE
   AND tp.typname <> 'trigger'
   AND pr.pronamespace IN (
   SELECT oid
 FROM pg_namespace
   WHERE nspname NOT LIKE 'pg_%'
  AND nspname != 'information_schema'  )

y luego usando COPY llevas el resultado de la consulta a  un archivo.

Saludos

On 27/05/16 07:48, Jorge Tornero - Listas wrote:

Buenas tardes a todos:

¿Existe alguna manera de copiar funciones entre bases de datos? Me 
refiero a funciones creadas por el usuario y mediante un proceso tipo 
pg_dump o similar.


Un saludo

Jorge Tornero

-
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


[pgsql-es-ayuda] Copiar funciones entre bases de datos

2016-05-27 Por tema Jorge Tornero - Listas

Buenas tardes a todos:

¿Existe alguna manera de copiar funciones entre bases de datos? Me 
refiero a funciones creadas por el usuario y mediante un proceso tipo 
pg_dump o similar.


Un saludo

Jorge Tornero

-
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