W dniu 2020-02-27 o 15:26, sivapostgres@yahoo.com pisze:
> Need to lock around 10 tables. Let me try with pg_advisory_lock().
I am not sure why you mention table locks at this point. Just in case: with advisory locks you lock
an "application flow", not database objects.
>
>
> On Thursday, 27 February, 2020, 07:39:13 pm IST, Ireneusz Pluta/wp.pl <ipluta@wp.pl> wrote:
>
>
> W dniu 2020-02-27 o 14:37, sivapostgres@yahoo.com <mailto:sivapostgres@yahoo.com> pisze:
> > Hello,
> >
> > I'm saying isolation will not work out to my requirement. The steps.
> >
> > 1. On completion of all entries by all, say for a day.
> > 2. Lock, so that no one enters any other data.
> > 3. Create a report from the entered data.
> > 4. Create / Modify required entries from the values arrived in the report. [ long process ]
> > 5. Once completed, commit all data.
> > 6. Unlock, so that other users can enter data again. Data entered will be for another date.
> > Data cannot [should] not entered for the processed date.
> >
> so wouldn't pg_advisory_lock() in step 2, and pg_advisory_unlock() in step 6, make the process work
> in the way you expect?
>
> https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADVISORY-LOCKS
>
> >
> >
> > On Thursday, 27 February, 2020, 06:29:00 pm IST, Ireneusz Pluta/wp.pl <ipluta@wp.pl
> <mailto:ipluta@wp.pl>> wrote:
> >
> >
> > W dniu 2020-02-27 o 12:35, sivapostgres@yahoo.com <mailto:sivapostgres@yahoo.com>
> <mailto:sivapostgres@yahoo.com <mailto:sivapostgres@yahoo.com>> pisze:
>
> >
> > > I need to prevent other users from entering any transaction till I finish taking reports from my
> > > application. All users will be using the same application, from which this report is supposed to
> > > be printed.
> >
> > >
> > maybe advisory lock is what you need?
> >
> > https://www.postgresql.org/docs/current/explicit-locking.html#ADVISORY-LOCKS
> >
> >
> >
> >
>
>