Re: pg_proc Question
| От | Oisin Glynn |
|---|---|
| Тема | Re: pg_proc Question |
| Дата | |
| Msg-id | 454A1159.6090700@oisinglynn.com обсуждение исходный текст |
| Ответ на | Re: pg_proc Question (Martijn van Oosterhout <kleptog@svana.org>) |
| Список | pgsql-general |
Martijn van Oosterhout wrote: > On Thu, Nov 02, 2006 at 09:57:28AM -0500, Oisin Glynn wrote: > >> I have named all my functions in a pretty unique way and would like to >> export just my functions. Is there any way to move just these functions >> from one db to another.has anyone got a clever piece of SQL that spits >> out ddl from a select on pg_proc? Or could I use the copy command on >> pg_proc to spit my functions to file and then copy them into the new db? >> My issue is that I have allot of dblink and other things I do not want >> or need in the db and do not want to propagate this any further. >> > > I would say the easiest is to use pg_dump and then filter the output. > It's simple enough for sed I think: > > pg_dump database | sed -ne '/^CREATE FUNCTION tag/,/^--/p' > > works well here... Replace tag with a pattern matching your functions. > If you're using pl/pgsql you may need to do something more clever with > the end marker... > > Have a nice day, > Thanks for the help. After a quick intro to sed (I'm a Windows user) I have this working a treat for me. I used the following slight mod and it seems to handle both sql and pl/pgsql on 8.1.4 pg_dump database | sed -ne '/^CREATE FUNCTION tag/,/^-- TOC entry/p' The "-- TOC entry" seems to act as a perfect end tag. I actually dumped the db as plain from pgAdmin and used this file as input to sed rather than piping the pg_dump into sed. The only difference was that I needed double quotes not single quotes in my sed command so command ended up like sed -ne "/^CREATE FUNCTION tag/,/^-- TOC entry/p" mybackupfile.backup >myfunctions.sql Thanks, Oisin
Вложения
В списке pgsql-general по дате отправления: