более 20 минут. У таблицы 7 тысяч строк, ранее добавляя столбец, такого не происходило, мометнально выполнялось. Смотрю таблицу локов
select pid,
usename,
pg_blocking_pids(pid) as blocked_by,
query as blocked_query
from pg_stat_activity
where cardinality(pg_blocking_pids(pid)) > 0;
Вижу
pid | usename | blocked_by | blocked_query
------+---------+------------+--------------------------------------------------------
5093 | root | {25788} | alter table destinations add column images_arr text[];
В pg_stat_activity под этим PID
wait_event_type | Lock
wait_event | relation
state | active
backend_xid | 14348
backend_xmin | 14348
query_id | -6574028774680648032
query | alter table destinations add column images_arr text[];
backend_type | client backend
Как мне разблокировать этот запрос? Куда копать?
Привести полную запись из pg_stat_activity для этого 25788, для начала. Дв и для вашэго alter table — тожэ.
datid | 16410 datname | api pid | 25788 leader_pid | usesysid | 16402 usename | root application_name | client_addr | 0.0.0.0 client_hostname | client_port | 20007 backend_start | 2023-11-07 08:54:41.098139+00 xact_start | 2023-11-07 08:54:43.239636+00 query_start | 2023-11-07 08:54:44.071908+00 state_change | 2023-11-07 08:54:44.077124+00 wait_event_type | Client wait_event | ClientRead state | idle in transaction backend_xid | backend_xmin | query_id | -4456414255433784781 query | + | SELECT name, code, country, description, categories + | FROM destinations + | WHERE country IN ('Greece', 'Iceland', 'Morocco', 'Mexico') + | AND description != '' + | AND categories IS NOT NULL + | backend_type | client backend
Похожэ на ручной (в смысле вручную запушенный) запрос, и, соответственно, какой-то сеанс разработчика. Отстрелить его и дело с концом.
Обсуждают сегодня