Search Postgresql Archives

Re: pg_get_expr() hangs with uncommitted DDL transaction

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

 



Tom Lane schrieb am 11.11.2014 um 16:35:
>> Is there a reason why pg_catalog.pg_get_expr() will wait until the exclusive lock on the table is released? 
> 
> Yes.  It needs to extract attribute names, data types, etc for the target
> table and it would also like to be sure that that data is self-consistent.
> So it takes out AccessShareLock the same as a query on the table would.

Not sure I understand this. 

Extracting the attribute names and data types from the various pg_catalog tables 
works _without_ the query being blocked. Even when selecting all arguments that 
are passed to pg_get_expr(). 

It's only when adding the function call to an otherwise perfectly working query
that this wait occurs.

Does this mean that pg_get_expr() selects additional data from the table, 
instead of just using the values that are provided by the caller?

Thomas











-- 
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