Re: [pgsql-es-ayuda] Copiar funciones entre bases de datos
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
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
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