Repository navigation
v0.3.0
Polish of the base product, and fixes from using it on real projects.
Added
- Structure editing: create tables; add, rename, retype (with
USING), drop columns,NOT NULLand
defaults; rename, comment and move tables; indexes (ordered columns, unique, method, partial,
CONCURRENTLY), unique and check constraints and foreign keys withNOT VALIDand validate. Every
change shows the exact SQL and its warnings before running; drops ask for the typed name. - Columns: hide, reorder (drag or keyboard), resize, "Reset view"; saved per connection and table
together with pinned columns and rows. - Rectangular selection, copy as TSV/CSV/JSON/
INSERT, paste from a spreadsheet into the change queue
(one undo step, extra rows inserted on request, invalid values marked and blocking save). - Table tabs (close, close others, reorder, Alt+W), favorites and recents per connection, also in ⌘K.
- SQL editor tabs per connection and
:nameparameters sent as bound parameters. - Settings screen: general, connections, security (change password), SQL editor and about; settings
defined by environment variables are locked; grid density. - Row selection with a click, a resizable table list, context menus in the table list, the SQL history
and saved queries, and an own checkbox with 24 px targets. - Free mode: private saved queries per user and server (
snippets/.private/), and a session menu with
"Switch connection" and "Disconnect", each confirmed. GRESBASE_DB_NAMEandGRESBASE_DB_USERfix the database and user of the connection forms; with host,
database and user fixed, free mode only asks for the password.GRESBASE_TRUSTED_PROXIES: behind those proxies the sign-in limit uses the client IP from
X-Forwarded-For.- Setup token: the log carries a
/setup#token=…link, andgresbase setup-tokenprints the token
inside the container. - Long SQL queries, CSV imports and structure changes stay alive behind Nginx or Cloudflare with
heartbeats; no proxy timeout to raise.
Changed
- Initial JavaScript halved (510 → 275 KB gzip) by loading heavy screens on demand; tablet layout fixes.
- A typed value that does not fit its column now blocks save instead of failing on the server.
- Tables with a primary key show the newest rows first by default.
- Licensed under Apache 2.0.
Fixed
- The SQL editor selection was hidden by the active line.
- Single accent border on the cell editor; flags with the same size; the row panel footer stays at the
bottom. - Own message for the
host_not_allowedconnection failure. - A relative
GRESBASE_DATA_DIRno longer shows the "data is not persistent" warning.
Security
- A role with
default_transaction_read_onlycould lift it from the SQL editor (SET … = off); the
editor now treats that role as read-only. - The sign-in limit counts only failed attempts.
- The "data is not persistent" warning now detects an anonymous volume, the container layer and tmpfs,
and says when the data would be lost.