You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The help overlay names the JDBC tap and the NOTIFY panel by :tap / :notify first, with F4 / F3 beside them, and the start card
does the same for the tap: on a Mac terminal the F-keys often never
reach pgman. The section list's teasers lead with their key
(:tap / F4 · your app's statements, live, S · schemas, …), so it
survives at 60 columns, and each fits whole at 80; the tap's ended (:… at 80x24.
The result diff's title names its key (key: id (primary key)) before
the A and B query text, so an 80-column terminal no longer cuts it
off; a title too long for its border ends on …. A diff of results
with different columns says columns differ in its title and under
the counts, which read as a fault (key: full row, every row added
and removed) without it.
:fixture and Y on a partial result end their status on "fetched
rows only, more not fetched", which the footer keeps whole; at 160
columns it was cut mid-note, along with the file name.
The schema wizard's detail pane wraps between words (it broke referen / ces at 80x24), and its list sizes the object column to
leave the title room: at 80 columns the title column was three
letters wide and its header read tit.
A result column's header squeezed with its column ends on …, as
its cells do, and keeps its sort marker: at 80x24 billing_email
read billing_ over cells reading billing….
The result title is fitted to its border: with a filter on and
five-digit counts, an 80-column title ran into the corner mid-word;
it now drops whole segments from the end and ends on ….
The JDBC tap's views cut a long cell with … rather than at the
border: N+1 and callers keep the caller whole and add the fingerprint
only when there is room to read one, hotspots' fingerprint · caller
and transactions' txn · last sql fit their column (at 80x24 the
hotspots header read FINGERPRINT · LAST CA over · InvoiceS), and
any row or header too wide for the panel ends on ….
The NOTIFY panel cuts a long payload, and its title's key hints, with … at the border rather than mid-token, and shows a payload's
newline as ⏎ on its row.
The start card's two key columns line up: :tap JDBC tap (F4)
started four columns right of the S / T / L / ctrl-t above
and below it, as ctrl-l's key is wider than the others. At 100
columns the card takes the short ctrl-l wording so S schema browser (26 tables) fits, and a right-hand hint too long
for a narrower card ends on … rather than at the border.
A start card too short for every key hint keeps its ? all keys
line and says how many it left off (+3 more); at 60x16 the hints
went with nothing to say so.
The README lists cell editing (u) and paging (M), and its links
to docs/ and the licence files are absolute, so they resolve on
crates.io too; it says to run brew trust tombaldwin/tap first on
Homebrew 6 or newer.
--demo no longer writes pgman.log or creates pgman's cache,
config and data directories, as its "no disk writes" promised, and \fixture / \report with no path write nothing to the cache
dir: they say --demo writes no files and ask for a path.
docs/tap.md says the monitor's "JAR backpressure" drop count comes
from TCP and UDP senders only, and never appears with --tap-otlp.
A connect no longer hangs at "connecting…" behind another session's ACCESS EXCLUSIVE lock: the schema fetch skips the sizes and indexes
the lock covers, the connect's own catalog reads give up after a 2 s lock_timeout (the session's own setting is restored), and the status
line says the schema is incomplete, names the holder's pid first (a
narrow footer cut it off) then the lock — for a read that gave up
behind a lock on a catalog too — and how to reload. The schema
browser says size: not fetched (locked) and indexes: not fetched
for such a table, which read as a table with no indexes. A reload (S
then r, or the refresh after DDL) is bounded the same way, puts back
your own lock_timeout with nothing of yours running in between, and
no longer says "schema reloaded" over a read the server cancelled: any
failed catalog read is named. Inside an open transaction it reads
nothing and says so, since a read the server cancelled there would
abort your transaction.
A session the server ends under a running statement
(pg_terminate_backend, a crash shutdown) shows the server's reason
on the connection-lost card, not "the connection to the server closed"
with the reason in the footer; a session lost while still connecting
keeps its reason too. The server's hint comes with it: a hot-standby
conflict's says to reconnect and repeat the command.
The header no longer says Session: writable on a standby whose
connect-time probe went unanswered: when a paged run's probe finds the
server in recovery, the session is pinned read-only there, in the
header and on the server, as the connect would have pinned it; nor
after a :readonly on on a standby that failed to apply, or a :readonly off the server took just as the standby was pinned.
A primary is no longer pinned read-only as "a read replica" when a
schema ahead of pg_catalog on the search path has a pg_is_in_recovery() of its own: the connect's probe, and MCP's,
the dashboard's and the advisor's, call pg_catalog's. So do apply_patches' statement_timeout restore and the sessions panel's
terminate, which a shadow could make report a session ended that
wasn't.
Under a read-only session the confirm card no longer says Postgres
will refuse a statement pgman can't classify, such as SET, which it
runs: it says Postgres refuses it if it writes.
Changed
The header and About box say the date beside the version is the
release date: pgman 0.2.0 · released 2026-10-23. At 60
columns the header now shows the version alone.