general questions on Postgresql and deployment on win32 platform - Mailing list pgsql-general

From Calvin Wood
Subject general questions on Postgresql and deployment on win32 platform
Date
Msg-id cbdadedf04120220281fa78e51@mail.gmail.com
Whole thread Raw
Responses Re: general questions on Postgresql and deployment on win32  (Richard Huxton <dev@archonet.com>)
Re: general questions on Postgresql and deployment on  (Doug McNaught <doug@mcnaught.org>)
List pgsql-general
I have gone through the documentation that come with version 8 beta 4 and I
have a number of questions.

(1) backup/restore
I notice that in the documentation, it seems to suggest that an online
backup, made via pg_start_backup() and pg_stop_backup() functions would back
up all databases running on the server, rather than any specific instance.
If that's the case, is it correct to state that WAL is instance specific
rather than database specific?

Does it also mean that I must back up and restore all the databases (or
database cluster in Postgresql Speak) even if I am only interested in 1
database?

(2) WAL location
I can't seem to find a way to move WAL log to a different location other
than data/pg_xlog. On *nix platform, it's a simple matter of creating a
symbolic link. But on win32, there is no equivalent. However, even under
*nix system, I believe symbolic link can only be created for directories on
the same hard drive. This seems less than optimal. Typically, one would
place database files on RAID 5 drives (to maximize random access speed) and
log files on mirrored drives (to maximize sequential access speed).

(3) Trigger
Is it correct to state that old and new keywords are only available to
PL/pgSQL function (but not a SQL function) and to row level trigger? Is
there anyway to refer to old and new rows for statement level trigger? The
visibility rule is also quite confusing. Can someone please clarify it in
terms of before/after and row/statement level triggers (i.e., 4 possible
permutations).

(4) Process/thread on win32 platform
On win32 platform, a process simply provides environment for a thread to run
(whereas a thread is more like a *nix process, win32 has something called
fibre that is more lightweight than thread). Typically, it's not recommended
to start a new process per connection for DBMS running on win32 lest its
performance would suffer. For example, SQL Server actually spawns threads to
manage connections rather than processes. Does the Postgresql on win32
platform use process or thread when a connection is made? I notice that the
configuration file lets you specify maximum number of connections. If I have
a very high number of persistent concurrent users (thus preventing
connection pooling from helping much), would performance suffer
significantly?

Thanks for any responses.

pgsql-general by date:

Previous
From: Joe Conway
Date:
Subject: beta5 rpms
Next
From: John DeSoi
Date:
Subject: psql connection timeout