Dokumentacja dla lo_compat_privileges
wyjaśnia sytuację:
Pamiętaj, że można to ustawić dla bazy danych za pomocą:
ALTER DATABASE dbname SET lo_compat_privileges=on;
Kiedy lo_compat_privileges
jest ustawiony domyślnie OFF
dostęp nie jest ograniczony do superużytkowników, ale kontrolowany. Każdy duży obiekt ma właściciela i ten właściciel ma pełne prawa. Uprawnienia do odczytu mogą być nadane dla każdego dużego obiektu na raz (przez właściciela lub superużytkownika) za pomocą :
GRANT SELECT ON LARGE OBJECT loid TO rolename;
gdzie rolename
może być również PUBLIC
co znaczy „wszyscy”, zobacz DOTACJE
po szczegóły.
Z drugiej strony nie sądzę, aby można było ustawić uprawnienia do wszystkich dużych obiektów bazy danych za pomocą jednego polecenia lub z góry do nieistniejącej jeszcze zawartości, ponieważ ALTER DEFAULT PRIVILEGES
nie obsługuje dużych obiektów, a jak zauważyłeś, wyzwalacze nie są opcją.
Użytkownik niebędący superużytkownikiem, który ma uprawnienia SELECT do wszystkich dużych obiektów bazy danych, może pg_dump tę bazę danych bez błędu.