ClickHouse / ClickHouse/clickhousectl

Show the provider in the Postgres service list

Open
#839 0 comments 0 reactions 0 assignees View on GitHub
cloud documentation
Dominant language
Rust
Stars
74
Forks
5
Avg merge
2d 11h
Merged PRs (30d)
196

Description

## Validated scope and current-PR plan — 2026-09-11

This section records the QA review and the current decision to finalize existing PRs without opening new PRs. It supersedes the proposed routing/fix suggestions in the original report below; the original observations are retained. Central plan: #757.

### Work for the existing PRs

Implementation status: the checked sub-items below are implemented on the existing PR branches and validated locally on combined head `82b374816a917cbac3a68194659beaaa5c7c9087`. Required final-head Cloud CI and merging remain pending; this issue stays open. See #757 for the combined validation and CI status.

- [x] #821 — Make negative --limit values reach the existing range validators on logs and slow-query list, as --offset already does; retain the distinct 1–2000 and 1–500 limits.

### Remaining scope

Severity policy, other metrics/help changes, Provider/Port presentation and promotion/restore guidance remain deferred. Promotion advice overlaps #834; connection details overlap #836.

This is a partial assignment. Keep the issue open after these PRs land; use sub-item references rather than a whole-issue closing keyword.

### Validation and corrections

Reproduced misleading separator hint on both --limit -1 forms. Ranges already exist (logs 1–2000, patterns 1–500); the missing piece is negative-value parsing, as in #821. Promotion advice goes with #834; Port with #836; Provider column with new Postgres output work. Severity is currently unconstrained text in the model: establish the supported contract before closing the set. [#820](https://github.com/ClickHouse/clickhousectl/pull/820) is only sort-order validation. A metrics CONTEXT block is optional, not mandatory just because the command is long-form.

---

## Original QA report

Found in the 2026-09-11 QA sweep of the combined PR stack at [`d2c37f81`](https://github.com/ClickHouse/clickhousectl/commit/d2c37f814fff53fe68d636e34103e2d0550bf84d), top PR #823, installed release build (package version still 0.4.2). Reproduced behaviour only; no implementation included.

Severity: low; batch.

- `logs --limit -1` and `slow-queries list --limit -1` still give "unexpected argument … tip: use `-- -1`" — the exact defect #809 fixed for `--offset` on the same commands. Give `--limit` the same `value_parser` range.
- `postgres metrics` is the only long-form data command with no `CONTEXT FOR AGENTS` block, and `--bucket-size-seconds` help does not say that omitting it lets the API choose (README does).
- `logs --severity BOGUS` returns an empty list, exit 0; the help says "such as ERROR, WARNING, or LOG" but there is no enum, so a typo looks like "no matching logs".
- `postgres get` human output has no Port row; `postgres list` has no Provider column although `--filter provider=` exists.
- `promote`'s stderr note says the old primary "can keep reporting isPrimary=true for several minutes; verify … that exactly one service is primary". After promoting a *read replica* the old primary is permanently an independent primary (verified: both writable, divergent data), so `list --filter isPrimary=true` will never show exactly one. The advice is wrong for the case it is attached to.
- The restored instance reports `isPrimary: false` while `state=creating`, flipping to `true` once running — confusing for something that is not a replica. Worth a help line.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the `postgres list` command and the existing `--filter provider=` behavior described in the QA report. Trace where human-readable list rows are assembled, then verify that the provider appears as a column without changing the deferred promotion, connection, or other output work.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql, rust
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.