0

I have a large database that I need to migrate from postgresql 16 to 17. But when programming a logical replication, I receive a message saying that a large object has been modified. But I don't know where are those large objects used.

--> How to list fields in all tables that use these larges objects?

And is there another flow that lead to the creation of large objects?

The database is an AWS RDS.

asked Sep 10 at 18:34

1 Answer 1

1

Large objects are exactly that: objects; they all are stored in a single table, pg_largeobject, and their metadata in pg_largeobject_metadata. References to their OIDs can be stored in user tables, but there is no guaranteed method to find exactly what those tables are. You will have to study your application code or log DML statements to see what tables are updated whenever large objects are created or modified.

answered Sep 10 at 19:14
2
  • So you mean that it is postgres that decide when to use large objects or not? It is not related to the table structure? Commented Sep 10 at 20:03
  • No, it's the application developers that decide when to use LOs. They then use special functions to create and manage LOs, which Postgres stores in pg_largeobject. The developers then may, or may not, store references to LOs somewhere else. Commented Sep 10 at 20:50

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.