Summary
Table Browser _connectAndLoad always acquires readWrite (“for custom SQL and REFRESH”). Browse SELECT * … LIMIT n OFFSET m has no ORDER BY, so pages skip/duplicate. COUNT(*) is a sequential scan on large heaps and shares the 30s queryTimeout that forceCloses the pooled socket.
Scope
- Default browse session: PgSessionMode.readOnly (Save / REFRESH / custom SQL may upgrade — see shared-socket issue).
- When a PK exists, ORDER BY those columns for stable pages.
- Do not require a blocking COUNT(*) before first paint: estimate (reltuples) or count asynchronously; timeout must not kill the browse socket.
Out of scope
- Changing default page size (200).
Reactions are currently unavailable
Summary
Table Browser _connectAndLoad always acquires readWrite (“for custom SQL and REFRESH”). Browse SELECT * … LIMIT n OFFSET m has no ORDER BY, so pages skip/duplicate. COUNT(*) is a sequential scan on large heaps and shares the 30s queryTimeout that forceCloses the pooled socket.
Scope
Out of scope