Alvaro Herrera escribió:
Oswaldo Hernández escribió:

OK. He hecho una función que lee la tabla pg_locks, obtiene los
advisory del pid actual y los desbloquea uno a uno, reservando un
rango para otros posibles usos.

¿Una función que los lee uno a uno?  Seguro que eso se debe poder hacer
en una sola línea de código SQL.


Grrr, tengo demasiado metido el 'for' en la cabeza ;)

select
  pg_advisory_unlock((lk.classid::int8 << 32) + lk.objid::integer)
from
  pg_locks lk
where
  pid = pg_backend_pid()
  and locktype = 'advisory'
  and classid <> 0

Esta ultima condición es el rango que reservo.

Saludos,

--
Oswaldo Hernández
--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo

Responder a