| From: | vinny <vinny(at)xs4all(dot)nl> |
|---|---|
| To: | Chris Angelico <rosuav(at)gmail(dot)com> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: Performance question: Commit or rollback? |
| Date: | 2011-12-24 13:00:30 |
| Message-ID: | 1324731630.6528.30.camel@vinny-laptop |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Sat, 2011-12-24 at 23:49 +1100, Chris Angelico wrote:
> On Sat, Dec 24, 2011 at 11:46 PM, vinny <vinny(at)xs4all(dot)nl> wrote:
> > The actual rollback won't hurt as long as you have not made any
> > modificatons to any records. But opening the transaction could have side
> > effects for other processes that want to modiy the records that you want
> > to protect in your read-only transaction.
> >
> > How about using a databaseuser that has it's create/update/delete rights
> > revoked? That will cause an error if the supposedly read-only routine
> > does try to change data.
>
> The readonly-ness of the session is defined based on information
> stored in the database, so that would entail the cost of
> re-authenticating.
Yes you would have to re-authenticate, you'd have to weigh the time-cost
of that that against any performance hits the transaction might cause.
> Also, we want to minimize debugging time by having
> both read-only and read-write access use almost exactly the same code
> and DB access, meaning that we should not need to test every module in
> every mode.
So, your read-only mode is basically a flag that forces your code to
always issue a rollback at the end, instead of a commit for read/write
mode.
I find that a bit scary. :-)
regard,
Vincent.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Chris Angelico | 2011-12-24 13:20:03 | Re: Performance question: Commit or rollback? |
| Previous Message | Shankar Palaniappan | 2011-12-24 12:54:04 | Re: Unable to connect to PostgreSQL server : Could not get socket error status |