But, as follow, if txn1 not commit (just like long term readonly txn), it will block txn2's ddl job, why alt add/drop column can not concurrently with read only access?
txn1: long term txn not commit access t1.
txn2 waiting txn1 to commit or abort.
txn3 wait txn2...
At 2022-10-11 18:05:01, "hubert depesz lubaczewski" <depesz@depesz.com> wrote:
>On Tue, Oct 11, 2022 at 05:43:03PM +0800, jiye wrote:
>> As we know postgres using high level lock when do alter table or other ddl commands,
>> It will block any dml operation, while it also will block by long term dml operation.
>
>Most of the things can be already done in non-blocking (or almost
>non-blocking way) if you just do it in a way that takes concurrency into
>account.
>
>Specifically - I have no problem adding/deleting columns.
>
>Best regards,
>
>depesz