På tirsdag 12. november 2019 kl. 23:47:18, skrev DrakoRod <
drakofla...@hotmail.com <mailto:drakofla...@hotmail.com>>: 
Hi folks!

 I Have a question, in a database are a table with many files (bytea) stored
 (I support this database a don't design it), but we need delete many rows
 (38000 rows approx), but I when execute query:

 BEGIN;
 ALTER TABLE my_file_table DISABLE TRIGGER ALL;
 DELETE FROM my_file_table WHERE id_table <> 230;

 This query hang... 50 minutes and the query do not finish.

 Any suggestion? 

Check for locks and blocking statements: 
https://wiki.postgresql.org/wiki/Lock_Monitoring 
<https://wiki.postgresql.org/wiki/Lock_Monitoring> 

You can delete in chunks like this: 

do $_$ declare num_rows bigint; begin  loop  delete from YourTable where id in 
(select id from YourTable where id < 500 limit 100); get diagnostics num_rows = 
row_count; raise notice 'deleted % rows', num_rows; exit when num_rows = 0; end 
loop; end;$_$; 


--
 Andreas Joseph Krogh 

Reply via email to