Search Postgresql Archives

Re: [Q] Serializable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David G. Johnston <david.g.johnston@xxxxxxxxx> wrote:
> On Thu, Sep 24, 2015 at 12:15 PM, Ladislav Lenart <lenartlad@xxxxxxxx> wrote:

>> Suppose I have two (or more) concurrent DB transactions:
>> * Each runs in SERIALIZABLE.
>> * Each updates (insert / update / delete) different rows in the
>>   same table.
>>
>> Can I get serializable failures (i.e. ERROR: could not serialize
>> access due to read/write dependencies among transactions)?
>
> ​Probably not but there seems to be insufficient information
> provided to prove this.

Right.   I don't think there's enough here to be sure whether you
would actually have a serialization anomaly without the error, but
keep in mind that there can be false positives due to locking
granularity and other technical issues.   You can minimize this by
setting max_pred_locks_per_transaction higher, making sure that
your declare transactions to be read-only if you know that they
will not be modifying data, etc.   See the bulleted list of hints at
the bottom of this section.

http://www.postgresql.org/docs/9.4/interactive/transaction-iso.html#XACT-SERIALIZABLE

> You seem to probably have the "write dependency" covered but you
> mention nothing about "read dependencies".

For examples, see this page:

https://wiki.postgresql.org/wiki/SSI

> Why not just assume it can and put code in place to handle that
> possibility - especially since you should probably be
> frameworking database access to enforce that all parts of the
> system use SERIALIZABLE?

+1

--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux