Thread: Dump only functions
Is there a way to dump only functions to a directory with each function as its own file in SQL format?
Thanks,
Keith
Is there a way to dump only functions to a directory with each function as its own file in SQL format?
Thanks,
Keith
FROM pg_catalog.pg_proc p
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE pg_catalog.pg_function_is_visible(p.oid)
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'"|psql -A -t test`;
do echo "SELECT pg_get_functiondef('$a'::regproc);"|psql -A -t test >$a.function.sql ;done
Is there a way to dump only functions to a directory with each function as its own file in SQL format?
AFAIK, there's no direct way to dump each function to a separate file. However, you can use system-defined function or system table to retrieve function structure and then write them to separate file each by using bash or perl scripting.select prosrc from pg_proc where proname='foo';orselect pg_get_functiondef('foo(integer)'::regprocedure::oid);orUse other sources like pg_extractor tools.---Regards,RaghavendraEnterpriseDB Corporation
Thanks,
Keith
Is there a way to dump only functions to a directory with each function as its own file in SQL format?
AFAIK, there's no direct way to dump each function to a separate file. However, you can use system-defined function or system table to retrieve function structure and then write them to separate file each by using bash or perl scripting.select prosrc from pg_proc where proname='foo';orselect pg_get_functiondef('foo(integer)'::regprocedure::oid);
Thank you. I tried pg_extractor and it work almost perfect. I have just one question. We do overloading of a function name (using different parameters) and I think it puts all overlaoded functions in the same file (those with the same file name that is). Is there a way to separate them?
Thanks again for everyones help.
Sent: Wednesday, March 27, 2013 1:49 PM
To: Raghavendra
Cc: Keith Ouellette; pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Dump only functions
Is there a way to dump only functions to a directory with each function as its own file in SQL format?
AFAIK, there's no direct way to dump each function to a separate file. However, you can use system-defined function or system table to retrieve function structure and then write them to separate file each by using bash or perl scripting.select prosrc from pg_proc where proname='foo';orselect pg_get_functiondef('foo(integer)'::regprocedure::oid);
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
WHERE pg_catalog.pg_function_is_visible(p.oid)
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'"|psql -A -t test`;
do echo "SELECT pg_get_functiondef('$a'::regproc);"|psql -A -t test >$a.function.sql ;done
Thank you. I tried pg_extractor and it work almost perfect. I have just one question. We do overloading of a function name (using different parameters) and I think it puts all overlaoded functions in the same file (those with the same file name that is). Is there a way to separate them?
Thanks again for everyones help.
From: Scott Mead [scottm@openscg.com]
Sent: Wednesday, March 27, 2013 1:49 PM
To: Raghavendra
Cc: Keith Ouellette; pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Dump only functionsOn Wed, Mar 27, 2013 at 1:43 PM, Raghavendra <raghavendra.rao@enterprisedb.com> wrote:Is there a way to dump only functions to a directory with each function as its own file in SQL format?
AFAIK, there's no direct way to dump each function to a separate file. However, you can use system-defined function or system table to retrieve function structure and then write them to separate file each by using bash or perl scripting.select prosrc from pg_proc where proname='foo';orselect pg_get_functiondef('foo(integer)'::regprocedure::oid);+1 here. pg_extractor is my personal favorite for this type of thing. It can give you all of your objects as separate files if you'd like.--Scott