Search Postgresql Archives

Re: Concurrency-safe Replacing a Set of Rows (Without SERIALIZABLE)

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

 



On Wed, Apr 12, 2017 at 3:32 PM, Gavin Wahl <gwahl@xxxxxxxxxxxxx> wrote:
I have a table that stores user notifications:

CREATE TABLE notifications (
  user_id INT,
  type CHAR(1),
  PRIMARY KEY (user_id, type)
);
​[...]​


Is there any way to do this correctly without SERIALIZABLE transactions? It
would be nice to avoid having to retry transactions. Ideally I'd like to avoid
explicit locking as well.

​Given this limited example I'd probably choose to model notifications as an array on the user table.  Then just "UPDATE user SET notifications = array['a','b']::text WHERE user_id = 1;

David J.

[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