Hi,

We have noticed the following issue with vacuumlo database that have millions 
of record in pg_largeobject i.e.
   WARNING:  out of shared memoryFailed to remove lo 155987:    ERROR:  out of 
shared memory   HINT:  You might need to increase max_locks_per_transaction.
Why do we need to increase max_locks_per_transaction/shared memory for clean up 
operation, if there are huge number records how can we tackle this situation 
with limited memory?. It is reproducible on postgresql-9.1.2. The steps are as 
following (PFA vacuumlo-test_data.sql that generates dummy data)  i.e. 

Steps: 
1. ./bin/initdb -D data-vacuumlo_test12. ./bin/pg_ctl -D data-vacuumlo_test1 -l 
logfile_data-vacuumlo_test1 start3. ./bin/createdb vacuumlo_test4. bin/psql -d 
vacuumlo_test -f vacuumlo-test_data.sql5. bin/vacuumlo vacuumlo_test

~/work/pg/postgresql-9.1.2/inst$ bin/psql -d vacuumlo_test -f 
vacuumlo-test_data.sql
CREATE FUNCTION
CREATE FUNCTION
 create_manylargeobjects
-------------------------
 
(1 row)
 count
-------
 13001
(1 row)

~/work/pg/postgresql-9.1.2/inst$ bin/vacuumlo vacuumlo_test

WARNING:  out of shared memory
Failed to remove lo 36726: ERROR:  out of shared memory

HINT:  You might need to increase max_locks_per_transaction.
Failed to remove lo 36727: ERROR:  current transaction is aborted, commands 
ignored until end of transaction block
Failed to remove lo 36728: ERROR:  current transaction is aborted, commands 
ignored until end of transaction block
Failed to remove lo 36729: ERROR:  current transaction is aborted, commands 
ignored until end of transaction block
....
....


Best Regards,Muhammad Asif Naeem

                                          

Attachment: vacuumlo-test_data.sql
Description: Binary data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to