greengage-answer-filesRegenerate Greengage regression answer files without burying a real bug - the success-to-ERROR safety gate, the upstream-assertion-still-holds gate and MPP test-input adaptation, reading gpdiff regression.diffs rather than git diff, init_file matchignore and matchsubs masks, atmsort blind spots, bas
greengage-backup-restoreBack up and restore Greengage, choosing the right tool. Covers gpbackup/gprestore (shipped outside the greengage repo), --timestamp identifiers, incremental backups, --leaf-partition-data, S3 storage plugins, pg_dump/pg_dumpall coordinator funnel, --gp-syntax, WAL archiving's %c escape, gp_create_re
greengage-buildTurn a Greengage source change into a running binary and prove the binary under test is the one you built. Covers ./configure flags and real defaults, --enable-cassert/-depend/-debug-extensions, the 6.x gpAux devel vs dist build, ORCA link failures, stale-object and stale-install traps, ci/Dockerfil
greengage-ciTriage a red Greengage CI run on GitHub Actions - greengage-ci.yml job matrix, pinned greengagedb/greengage-ci reusable workflows, shared expected/*.out answer files, pulling regression.diffs from job logs and artifacts with gh, classifying failures as cosmetic drift, real bug, flaky or lost coverag
greengage-cluster-opsConnect to a Greengage cluster and fix an unwell one. Covers the attach-vs-provision gate, greengage_path.sh + gpdemo-env.sh, gp_segment_configuration health (status 'd', role <> preferred_role), gpstate, gp_stat_replication, gpstart/gpstop -M/-u, gpconfig, gprecoverseg -F/-r, gpactivatestandby, gpc
greengage-contributeGet a change accepted into GreengageDB/greengage: branch targeting, the CLA, committee review, formatting, linting, regression tests, pull-request CI gates. Covers 6.x/7.x vs the stale main branch, two-approval merges, +1/-1 votes, pgindent policy for inherited code, greengage_schedule, installcheck
greengage-data-loadingLoad and unload Greengage in parallel, not serially through the coordinator. Covers gpfdist, readable/writable external tables, URI-to-segment mapping, gp_external_max_segs, LOG ERRORS / SEGMENT REJECT LIMIT, gp_read_error_log(), gpload YAML control files, COPY ON SEGMENT, gp_exttable_fdw, mpp_execu
greengage-debugDiagnose Greengage crashes, assertion failures, hangs and wrong results - CSV segment logs, the Greengage-specific assert signature, minimal reproduction, gp_debug_linger, gp_inject_fault suspend/wait/reset, temporary elog instrumentation, gdb on a live QE, global-deadlock hangs, blast-radius triage
greengage-internalsMake MPP-correct Greengage backend changes - QD/QE roles and Gp_role, gangs and dispatch, outfast.c/readfast.c plan serialization, Motion and slices, locus, GPORCA's silent fallback, FTS outside a transaction, append-optimized aux relkinds, utility mode, fault injection, gpexpand protection. Use whe
greengage-overviewOrient on a Greengage cluster or checkout and route to the right skill. Covers what MPP changes in PostgreSQL - distribution policy, Motion nodes, slices, GPORCA vs the Postgres planner, heap and append-optimized storage - plus 6.x/7.x version detection, coordinator/segment/mirror/standby anatomy an
greengage-pg-batchPrepare a batch of upstream PostgreSQL commits on greengage_sync for team review - picking the cut and checking split revert pairs, merging with conflict markers committed, bring-up on a raw branch, units of change (UoC) split per operation by conflict-region, bring-up-commit, identifier and answer-
greengage-pg-mergeMerge an upstream PostgreSQL major version into Greengage and bring the fork back up - pinned one-major-per-step targets on greengage_sync, semantic conflict resolution against reference branches, minimal-diff scope, post-target lookahead for reverts and pre-release fixes, behaviour decisions as sep
greengage-query-performanceDiagnose and fix slow queries on a Greengage MPP cluster - EXPLAIN motions (Gather, Redistribute, Broadcast), slices and gangs, per-segment rows, GPORCA vs the Postgres planner and its silent fallback, data and computational skew, ANALYZE and analyzedb, statement_mem and workfile spill. Use when a q
greengage-schema-designDesigns Greengage tables for MPP - distribution key choice, join co-location, DISTRIBUTED REPLICATED and RANDOMLY, heap vs append-optimized row/column storage, compresstype and column ENCODING, classic and declarative partitioning, unique-key rules, unenforced foreign keys. Use when writing or revie
greengage-testingRun Greengage's test suites and read the results. Covers installcheck-good vs installcheck-world, greengage_schedule, single-test runs and the --use-existing trap, optimizer=on/off answer files, gpdiff/atmsort masking, isolation2, gp_inject_fault, resgroup v1/v2, JIT, behave, ORCA ctest, false passe
greengage-uoc-review-prOpen and carry through the review PRs of a greengage_sync batch split into units of change (UoC) - one <prefix>-uocN -> <prefix>-base PR per unit, opening them with uoc_review.py, reading a unit by its Review focus, review fixes on the unit branch without force-push, the -test branch CI runs, squash
greengage-uoc-review-statusKeep the unit table of a greengage_sync batch PR current - finding every unit PR by its <prefix>-uoc<N> head branch, reading state, draft, review verdicts and CI through the GitHub API, writing one row per unit with all its PRs and a summary of units not merged yet, idempotently and without clobberi
greengage-workload-managementControls Greengage cluster admission with resource groups or resource queues - gp_resource_manager none/queue/group/group-v2, cgroup v1/v2, CONCURRENCY, CPU_MAX_PERCENT, CPUSET, MEMORY_LIMIT, IO_LIMIT, ACTIVE_STATEMENTS, MAX_COST, PRIORITY, gp_toolkit views, statement_mem, superuser bypass. Use when