Re: Dump only functions

From: Vasilis Ventirozos <v(dot)ventirozos(at)gmail(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: Dump only functions
Date: 2013-03-27 17:48:36
Message-ID: CAF8jcqrnpeC3-5wr5ydd_TWkLcK-US+DCxPFRG4YE1FODnKmGw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Try something like this:

for a in `echo "SELECT p.proname
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

Worked for me, will give you one file per function , called
functionname.function.sql
i just wrote it so i haven't test it much

Vasilis Ventirozos

On Wed, Mar 27, 2013 at 7:43 PM, Raghavendra <
raghavendra(dot)rao(at)enterprisedb(dot)com> wrote:

> On Wed, Mar 27, 2013 at 10:53 PM, Keith Ouellette <
> Keith(dot)Ouellette(at)airgas(dot)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';
> or
> select pg_get_functiondef('foo(integer)'::regprocedure::oid);
> or
> Use other sources like pg_extractor tools.
> http://www.keithf4.com/pg_extractor/
>
> ---
> Regards,
> Raghavendra
> EnterpriseDB Corporation
> Blog: http://raghavt.blogspot.com/
>
>
>
>>
>>
>> Thanks,
>>
>> Keith
>>
>>
>>
>
>

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Scott Mead 2013-03-27 17:49:12 Re: Dump only functions
Previous Message Raghavendra 2013-03-27 17:43:12 Re: Dump only functions