Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Automatic Backups

0 views
Skip to first unread message

David A. Leedom

unread,
Apr 8, 2005, 2:14:20 PM4/8/05
to
I am writing a program to backup Postgres 8.0 installed on windows via
Visual Basic.

Is there an easy way to find out where a the PostgreSQL bin files are
located so I can get the pg_dump and pg_restore utilities?

Enthusiastically,

Dave Leedom

The Hightower Group, Inc.
Custom Software Solutions Designed To Fit Your Business Like A Glove.
165 West Airport Road, Suite B/Lititz, PA 17543
V:717-560-4002, 877-560-4002 x: 114
F:717-560-2825
www.hightowergroup.com


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

John DeSoi

unread,
Apr 8, 2005, 3:13:19 PM4/8/05
to

On Apr 8, 2005, at 2:14 PM, David A. Leedom wrote:

> Is there an easy way to find out where a the PostgreSQL bin files are
> located so I can get the pg_dump and pg_restore utilities?

I think the installer puts this information in the registry. If you
don't get a more authoritative response, you might want to take a look
at the installer source file (a Wix xml document) for the exact
registry setup.

http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pginstaller/


John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL


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

David A. Leedom

unread,
Apr 8, 2005, 4:00:58 PM4/8/05
to
John,

Thanks for getting back to me.

I found that the registry entries use a GUID product code on the final node
of the registry. Is there any way to link this back to the running database?

I could hard code the product codes into my backup app. If for some reason
there are more than one Postgres installs on one system would there be a
way to determine the product code of the database I am backing up via the
connect string? (System tables/variables?)

Another possibility is that I could include the pg_dump/restore utilities
with the backup app and set it up to only backup databases of the correct
version.

Anyone have any further thoughts.

Dave Leedom

At 03:13 PM 4/8/2005, John DeSoi wrote:

>On Apr 8, 2005, at 2:14 PM, David A. Leedom wrote:
>
>>Is there an easy way to find out where a the PostgreSQL bin files are
>>located so I can get the pg_dump and pg_restore utilities?
>
>I think the installer puts this information in the registry. If you don't
>get a more authoritative response, you might want to take a look at the
>installer source file (a Wix xml document) for the exact registry setup.
>
>http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pginstaller/
>
>
>John DeSoi, Ph.D.
>http://pgedit.com/
>Power Tools for PostgreSQL
>

The Hightower Group, Inc.


Custom Software Solutions Designed To Fit Your Business Like A Glove.
165 West Airport Road, Suite B/Lititz, PA 17543
V:717-560-4002, 877-560-4002 x: 114
F:717-560-2825
www.hightowergroup.com


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

John DeSoi

unread,
Apr 10, 2005, 10:46:51 AM4/10/05
to

On Apr 8, 2005, at 4:00 PM, David A. Leedom wrote:

> I found that the registry entries use a GUID product code on the final
> node of the registry. Is there any way to link this back to the
> running database?
>
> I could hard code the product codes into my backup app. If for some
> reason there are more than one Postgres installs on one system would
> there be a way to determine the product code of the database I am
> backing up via the connect string? (System tables/variables?)
>
> Another possibility is that I could include the pg_dump/restore
> utilities with the backup app and set it up to only backup databases
> of the correct version.
>

One idea is to use "pg_ctl.exe status" to determine if the server
associated with the registry entry is running. I think you'll also need
to specify the data directory with this command, so hopefully that is
in the registry also.


John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Magnus Hagander

unread,
Apr 10, 2005, 3:51:57 PM4/10/05
to
>> I found that the registry entries use a GUID product code on
>the final
>> node of the registry. Is there any way to link this back to the
>> running database?

You mean from the GUID to the database? From the GUID you can get the
data directory, port number, service id etc - it should be everything
you need to find the db.

>> I could hard code the product codes into my backup app. If for some
>> reason there are more than one Postgres installs on one system would
>> there be a way to determine the product code of the database I am
>> backing up via the connect string? (System tables/variables?)

Examine the hostname / port number combination. That uniquely identifies
it. Unless the user has set them both up on the same port and just
doesn't run them both at the same time. In that case, I don't think
there is a way.

There should be no need to hardcode the GUIDs unless you need to find a
specific version. You can just enumerate whatever GUIDs exist in the
subkey and then look inside each of those for a match on the others.


>> Another possibility is that I could include the pg_dump/restore
>> utilities with the backup app and set it up to only backup databases
>> of the correct version.
>>
>
>One idea is to use "pg_ctl.exe status" to determine if the server
>associated with the registry entry is running. I think you'll
>also need
>to specify the data directory with this command, so hopefully that is
>in the registry also.

Yup, it's there.

//Magnus

0 new messages