pg.ddx.io pgsql-interfaces@postgresql.org mailing list archivehelp / color / mirror / Atom feed
Postgres 6.5 and PQsetdb( ,,"-F",, ) 4+ messages / 2 participants [nested] [flat]
* Postgres 6.5 and PQsetdb( ,,"-F",, ) @ 1999-07-17 07:31 Jean-Denis Girard <jd-girard@esoft.pf> 0 siblings, 0 replies; 4+ messages in thread From: Jean-Denis Girard @ 1999-07-17 07:31 UTC (permalink / raw) To: pgsql-interfaces Hello, I just upgraded from Postgres 6.3.2 (shipped with RedHat) to latest 6.5 on a Linux system. Everything went smoothly, but now it seems that "-F" option in PQsetdb no longer works. I tried to launch postmaster with -F option and it works find, but I really want to enable /disable fsync from libp, so I can run lengthly updates of my database reasonnably fast at the risk of problems if the system crash, and keep safe fsync for short opearations. I found nothing about that on the mailing list. What did I miss ? Thanks in advance... Jean-Denis Girard, Essential Software. ^ permalink raw reply [nested|flat] 4+ messages in thread
* Postgres 6.5 and PQsetdb( , , "-F", , ) @ 1999-07-17 08:07 Jean-Denis Girard <jd-girard@esoft.pf> 0 siblings, 0 replies; 4+ messages in thread From: Jean-Denis Girard @ 1999-07-17 08:07 UTC (permalink / raw) To: pgsql-interfaces Hello, I just upgraded from Postgres 6.3.2 (shipped with RedHat) to latest 6.5 on a Linux system. Everything went smoothly, but now it seems that "-F" option in PQsetdb no longer works. I tried to launch postmaster with -F option and it works as expected, but I really want to enable /disable fsync from libp, so I can run lengthly updates of my database reasonnably fast at the risk of problems if the system crash, and keep safe fsync for short opearations. I found nothing about that on the mailing list. What did I miss ? Thanks in advance... Jean-Denis Girard, Essential Software. ^ permalink raw reply [nested|flat] 4+ messages in thread
* Postgres 6.5 and PQsetdb(,,"-F",,) @ 1999-07-17 08:27 Jean-Denis Girard <jd-girard@esoft.pf> 0 siblings, 1 reply; 4+ messages in thread From: Jean-Denis Girard @ 1999-07-17 08:27 UTC (permalink / raw) To: pgsql-interfaces Hello, I just upgraded from Postgres 6.3.2 (shipped with RedHat) to latest 6.5 on a Linux system, with an existing application. Everything went smoothly, but it seems that "-F" option in PQsetdb no longer works. I tried to launch postmaster with -F option and it works as expected, but I really want to enable /disable fsync from libp, so I can run lengthly updates of my database reasonnably fast at the risk of problems if the system crash, and keep safe fsync for short opearations. I found nothing about that on the mailing list. What did I miss ? Thanks in advance... Jean-Denis Girard, Essential Software. ^ permalink raw reply [nested|flat] 4+ messages in thread
* Re: [INTERFACES] Postgres 6.5 and PQsetdb(,,"-F",,) @ 1999-07-17 15:57 Tom Lane <tgl@sss.pgh.pa.us> parent: Jean-Denis Girard <jd-girard@esoft.pf> 0 siblings, 0 replies; 4+ messages in thread From: Tom Lane @ 1999-07-17 15:57 UTC (permalink / raw) To: Jean-Denis Girard <jd-girard@esoft.pf>; +Cc: pgsql-interfaces Jean-Denis Girard <jd-girard@esoft.pf> writes: > I just upgraded from Postgres 6.3.2 (shipped with RedHat) to latest 6.5 > on a Linux system, with an existing application. > Everything went smoothly, but it seems that "-F" option in PQsetdb > no longer works. > I tried to launch postmaster with -F option and it works as expected, > but I really want to enable /disable fsync from libp, so I can run > lengthly updates of my database reasonnably fast at the risk of problems > if the system crash, and keep safe fsync for short opearations. -F, as well as some other potentially dangerous backend command-line switches, is no longer accepted from clients' PGOPTIONS strings. As of 6.5, these switches can only be specified on the postmaster command line (or when starting a standalone backend for debugging). The reason -F is considered dangerous is that it only works right when all the backends are doing things the same way. The shared-memory buffer pool is a community resource, so any one of the backends might be the one that writes a particular dirty buffer to disk. Now suppose that you are working on a critical table and so you want fsync's to occur. You modify a page of the table. Before you get around to writing it, some other backend needs the buffer slot and so writes out the page for you. If that other backend is not using fsync, are you happy? You are not. You just lost the guarantee you were trying to achieve, that your page updates will hit the disk in a known order. So -F has to be an "all or nothing" proposition. You cannot control it on a per-backend basis, at least not if you want predictable behavior. (You could get away with it if you never have more than one backend running at a time, but in that case you could restart the postmaster every time you want to change the -F status.) Even if the behavior were predictable, allowing unprivileged users to downgrade the reliability of the server seems like a serious security breach. As a DB admin, I'd want to think that whether to use -F is my decision and can't be overridden by any user who takes it into his head to do so... regards, tom lane ^ permalink raw reply [nested|flat] 4+ messages in thread
end of thread, other threads:[~1999-07-17 15:57 UTC | newest] Thread overview: 4+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 1999-07-17 07:31 Postgres 6.5 and PQsetdb( ,,"-F",, ) Jean-Denis Girard <jd-girard@esoft.pf> 1999-07-17 08:07 Postgres 6.5 and PQsetdb( , , "-F", , ) Jean-Denis Girard <jd-girard@esoft.pf> 1999-07-17 08:27 Postgres 6.5 and PQsetdb(,,"-F",,) Jean-Denis Girard <jd-girard@esoft.pf> 1999-07-17 15:57 ` Re: [INTERFACES] Postgres 6.5 and PQsetdb(,,"-F",,) Tom Lane <tgl@sss.pgh.pa.us>
This inbox is served by DDX for PostgreSQL; see mirroring instructions for how to clone and mirror all data and code used for this inbox