Обсуждение: Regarding pg_dump utility

Поиск
Список
Период
Сортировка

Regarding pg_dump utility

От
"soni de"
Дата:
 

Hello,

 

We have to take a backup of database and we know the pg_dump utility of postgresql.

But may I know, is there any API for this pg_dump utility so that we can call it from the C program? Or only script support is possible for this.

 

I think script support is bit risky because if anything goes wrong while taking backup using pg_dump then user will not understand the problem of falling

If only script support is possible then what should we prefer perl or shell?

 

Please provide me some help regarding this

 

Thanks,

Soni

Re: Regarding pg_dump utility

От
Tom Lane
Дата:
"soni de" <soni.de@gmail.com> writes:
> We have to take a backup of database and we know the pg_dump utility of
> postgresql.

> But may I know, is there any API for this pg_dump utility so that we can
> call it from the C program? Or only script support is possible for this.

There's always system(3) ....

            regards, tom lane

Re: Regarding pg_dump utility

От
"Jim C. Nasby"
Дата:
On Thu, Jun 08, 2006 at 11:39:48AM +0530, soni de wrote:
> We have to take a backup of database and we know the pg_dump utility of
> postgresql.
>
> But may I know, is there any API for this pg_dump utility so that we can
> call it from the C program? Or only script support is possible for this.

It probably wouldn't be terribly difficult to put the guts of pg_dump
into a library that you could interface with via C. I'm not sure if the
community would accept such a patch; though, I seem to recall other
people asking for this on occasion.

> I think script support is bit risky because if anything goes wrong while
> taking backup using pg_dump then user will not understand the problem of
> falling
>
> If only script support is possible then what should we prefer perl or shell?

Depends on what you're trying to accomplish. Perl is a much more capable
language than shell, obviously.
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

Re: Regarding pg_dump utility

От
Geoffrey
Дата:
Tom Lane wrote:
> "soni de" <soni.de@gmail.com> writes:
>> We have to take a backup of database and we know the pg_dump utility of
>> postgresql.
>
>> But may I know, is there any API for this pg_dump utility so that we can
>> call it from the C program? Or only script support is possible for this.
>
> There's always system(3) ....

fork(), exec()...

--
Until later, Geoffrey

Any society that would give up a little liberty to gain a little
security will deserve neither and lose both.  - Benjamin Franklin

Re: Regarding pg_dump utility

От
Alvaro Herrera
Дата:
Jim C. Nasby wrote:
> On Thu, Jun 08, 2006 at 11:39:48AM +0530, soni de wrote:
> > We have to take a backup of database and we know the pg_dump utility of
> > postgresql.
> >
> > But may I know, is there any API for this pg_dump utility so that we can
> > call it from the C program? Or only script support is possible for this.
>
> It probably wouldn't be terribly difficult to put the guts of pg_dump
> into a library that you could interface with via C. I'm not sure if the
> community would accept such a patch; though, I seem to recall other
> people asking for this on occasion.

Personally I think it would be neat.  For example the admin-tool guys
would be able to get a dump without invoking an external program.
Second it would really be independent of core releases (other than being
tied to the output format.)  pg_dump would be just a simple caller of
such a library, and anyone else would be able to get dumps easily, in
whatever format.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: Regarding pg_dump utility

От
Andreas Pflug
Дата:
Alvaro Herrera wrote:

>
>
> Personally I think it would be neat.  For example the admin-tool guys
> would be able to get a dump without invoking an external program.
> Second it would really be independent of core releases (other than being
> tied to the output format.)  pg_dump would be just a simple caller of
> such a library, and anyone else would be able to get dumps easily, in
> whatever format.

pgAdmin currently invokes pg_dump/restore externally with pipes attached
to stdin/out/err, but a library implementation would solve some
headaches (esp. concerning portability) managing background
execution/GUI updates/process control. I'd like a libpgdumprestore
library, with pg_dump/pg_restore being lean wrapper programs.

Regards,
Andreas

Re: Regarding pg_dump utility

От
"Jim C. Nasby"
Дата:
On Thu, Jun 08, 2006 at 06:33:28PM +0200, Andreas Pflug wrote:
> Alvaro Herrera wrote:
>
> >
> >
> >Personally I think it would be neat.  For example the admin-tool guys
> >would be able to get a dump without invoking an external program.
> >Second it would really be independent of core releases (other than being
> >tied to the output format.)  pg_dump would be just a simple caller of
> >such a library, and anyone else would be able to get dumps easily, in
> >whatever format.
>
> pgAdmin currently invokes pg_dump/restore externally with pipes attached
> to stdin/out/err, but a library implementation would solve some
> headaches (esp. concerning portability) managing background
> execution/GUI updates/process control. I'd like a libpgdumprestore
> library, with pg_dump/pg_restore being lean wrapper programs.

Would a pg_dumpall library also make sense?
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

Re: Regarding pg_dump utility

От
Alvaro Herrera
Дата:
Jim C. Nasby wrote:
> On Thu, Jun 08, 2006 at 06:33:28PM +0200, Andreas Pflug wrote:
> > Alvaro Herrera wrote:
> >
> > >
> > >
> > >Personally I think it would be neat.  For example the admin-tool guys
> > >would be able to get a dump without invoking an external program.
> > >Second it would really be independent of core releases (other than being
> > >tied to the output format.)  pg_dump would be just a simple caller of
> > >such a library, and anyone else would be able to get dumps easily, in
> > >whatever format.
> >
> > pgAdmin currently invokes pg_dump/restore externally with pipes attached
> > to stdin/out/err, but a library implementation would solve some
> > headaches (esp. concerning portability) managing background
> > execution/GUI updates/process control. I'd like a libpgdumprestore
> > library, with pg_dump/pg_restore being lean wrapper programs.
>
> Would a pg_dumpall library also make sense?

One would think that libpgdump should take care of this as well ...

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: Regarding pg_dump utility

От
Christopher Kings-Lynne
Дата:
> It probably wouldn't be terribly difficult to put the guts of pg_dump
> into a library that you could interface with via C. I'm not sure if the
> community would accept such a patch; though, I seem to recall other
> people asking for this on occasion.
>
>> I think script support is bit risky because if anything goes wrong while
>> taking backup using pg_dump then user will not understand the problem of
>> falling
>>
>> If only script support is possible then what should we prefer perl or shell?
>
> Depends on what you're trying to accomplish. Perl is a much more capable
> language than shell, obviously.


In phpPgAdmin we just execute pg_dump as a child process and capture its
output....


Re: Regarding pg_dump utility

От
Christopher Kings-Lynne
Дата:
> Personally I think it would be neat.  For example the admin-tool guys
> would be able to get a dump without invoking an external program.
> Second it would really be independent of core releases (other than being
> tied to the output format.)  pg_dump would be just a simple caller of
> such a library, and anyone else would be able to get dumps easily, in
> whatever format.

What about fully completing our SQL API for dumping?

ie. We finish adding pg_get_blahdef() for all objects, add a function
that returns the proper ordering of all objects in the database, and
then somehow drop out a dump with a single JOIN :D

Chris


Re: Regarding pg_dump utility

От
"Paul S"
Дата:
I think that having an API for backup functionality would definitely be useful. 
 
Just my 2 cents...
 
Paul
 


 
On 6/8/06, Christopher Kings-Lynne <chris.kings-lynne@calorieking.com> wrote:
> Personally I think it would be neat.  For example the admin-tool guys
> would be able to get a dump without invoking an external program.
> Second it would really be independent of core releases (other than being
> tied to the output format.)  pg_dump would be just a simple caller of
> such a library, and anyone else would be able to get dumps easily, in
> whatever format.

What about fully completing our SQL API for dumping?

ie. We finish adding pg_get_blahdef() for all objects, add a function
that returns the proper ordering of all objects in the database, and
then somehow drop out a dump with a single JOIN :D

Chris


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend