Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
e3bdb4f
ci: add SECURITY.md and CodeQL analysis workflow for GitHub
Mar 6, 2026
e6bc46b
Merge branch 'feature/github-security-setup' into 'master'
NikolayS Mar 6, 2026
9dfca8f
Green: Add preview environments for docs
NikolayS Mar 6, 2026
ec8d451
Merge branch 'green/preview-environments' into 'master'
NikolayS Mar 6, 2026
3481814
feat(blog): NOT EXISTS beats EXISTS by 20x — index size and heap fetches
NikolayS Mar 11, 2026
de1e79b
Merge branch 'blog-not-exists-v2' into 'master'
NikolayS Mar 11, 2026
3eae67b
feat(blog): how moving one word can speed up a query 10-50x
NikolayS Mar 11, 2026
a01a76c
Merge branch 'blog-not-exists-v3' into 'master'
NikolayS Mar 11, 2026
0ba1029
fix(blog): add equivalence note — PK + FK make the two queries identical
NikolayS Mar 12, 2026
10e0643
Merge branch 'blog-not-exists-equivalence-note' into 'master'
NikolayS Mar 12, 2026
c1e2fef
ops: DCF-5 add CI peer review gate (SOC2)
NikolayS Mar 12, 2026
d31fbbf
Merge branch 'ops/dcf5-compliance' into 'master'
Sarumyan Mar 12, 2026
0c9bf72
fix: bump DBLab Engine version references from 4.0.3 to 4.0.4
Mar 23, 2026
366bdb4
Merge branch 'fix/bump-dblab-version-4.0.4' into 'master'
NikolayS Mar 23, 2026
8277c43
Blog: PG18 preserves planner stats during upgrades — even from PG14
NikolayS Mar 24, 2026
b550e87
Merge branch 'docs/pg18-stats-upgrade-blog' into 'master'
NikolayS Mar 24, 2026
da5b8fc
fix: reduce blog feed size — summaries only, limit 20 entries
NikolayS Mar 25, 2026
66b2d71
Merge branch 'fix/reduce-feed-size' into 'master'
NikolayS Mar 25, 2026
9ec55b9
docs: Teleport integration howto for DBLab Engine
Apr 9, 2026
eb087ce
Merge branch 'docs/teleport-integration' into 'master'
NikolayS Apr 9, 2026
637e9b8
Add DBLab Engine 4.1 documentation: monitoring, RDS refresh, Teleport
NikolayS Apr 10, 2026
3a3400d
Merge branch 'claude/review-dblab-docs-MoHWV' into 'master'
NikolayS Apr 10, 2026
a8c95ae
Add DBLab Engine 4.1.0 release blog post
NikolayS Apr 14, 2026
23daeb3
Merge branch 'claude/dblab-engine-release-post-tPgYE' into 'master'
Sarumyan Apr 14, 2026
a179dfc
Fix xmin horizon data vs catalog query
Apr 22, 2026
4fc3193
Merge branch 'fix/xmin-horizon-data-catalog' into 'master'
NikolayS Apr 22, 2026
118a3c1
fix: bump DBLab docs references to 4.1.1
Apr 24, 2026
bc2b04d
Merge branch 'neo/release-dblab-docs-4.1.1' into 'master'
agneum Apr 24, 2026
c500c14
ops: sunset old v2 staging — gate CI deploy jobs, REPLICAS=0
NikolayS May 6, 2026
c96a741
Merge branch 'ops/sunset-v2-staging' into 'master'
Sarumyan May 6, 2026
c040585
fix: repair moved performance optimization doc links
Apr 24, 2026
746180a
docs(cli): align CLI reference with current implementation
NikolayS May 7, 2026
2f8f952
Merge branch 'claude/fix-cli-docs-gXQ9V' into 'master'
NikolayS May 7, 2026
5485c21
Add lockmanager tag to PostgresMarathon LWLock:LockManager posts
NikolayS May 11, 2026
26c00ce
Merge branch 'claude/add-lockmanager-tag-rp9Dy' into 'master'
NikolayS May 11, 2026
13371d8
docs+ci: TldrTabs on DBLab 4.1 post, CLAUDE.md mirror model, restore …
NikolayS May 13, 2026
286d7a4
Merge branch 'worktree-docs-tldr-preview-fix' into 'master'
Sarumyan May 13, 2026
6220c8a
fix: correct broken internal links and anchor references
NikolayS May 13, 2026
f5223a4
Merge branch 'cleanup/docs-verification-and-fixes' into 'master'
Sarumyan May 13, 2026
76230b3
Merge branch 'maya/fix-statistics-links' into 'master'
Sarumyan May 13, 2026
6631a32
docs: fill documentation gaps for DBLab Engine 4.1 - gap review round…
NikolayS May 13, 2026
bbf9c42
Merge branch 'claude/review-dblab-docs-MoHWV' into 'master'
Sarumyan May 13, 2026
ad7c03f
Improve the "autovacuum queue" howto
NikolayS May 14, 2026
a29636d
Merge branch 'claude/study-autovacuum-queue-ltWrS' into 'master'
Sarumyan May 14, 2026
08f877a
docs(issues): fix post-comment kebab-case and document output formats
NikolayS May 15, 2026
f88e3f0
Merge branch 'docs/audit-t17-issues-workflow' into 'master'
Sarumyan May 15, 2026
4076f3d
docs(mcp): align install howto and reference with actual CLI behavior
NikolayS May 15, 2026
eb345c7
Merge branch 'docs/audit-t16-mcp' into 'master'
Sarumyan May 15, 2026
5621eba
docs(postgresai-cli): fix two reference/howto inaccuracies
NikolayS May 15, 2026
a8ca622
Merge branch 'docs/audit-t1-postgresai-cli' into 'master'
Sarumyan May 15, 2026
affe01f
docs(tutorials): fix joe-setup typos and grammar
NikolayS May 15, 2026
8ea64c2
Merge branch 'docs/audit-t18-tutorials' into 'master'
Sarumyan May 15, 2026
cb53983
docs(dblab-config): bump version pin to v4.1.3 and fix server.port type
NikolayS May 15, 2026
1112202
Merge branch 'docs/audit-t4-dblab-config' into 'master'
Sarumyan May 15, 2026
0e038a8
docs(dblab-components): fix syncInstance → sync option name
NikolayS May 15, 2026
3b2a577
Merge branch 'docs/audit-t5-dblab-components' into 'master'
Sarumyan May 15, 2026
4414592
docs(index): add missing howto entries and fix reference-guides title
NikolayS May 15, 2026
b8efa75
Merge branch 'docs/audit-t19-indexes' into 'master'
Sarumyan May 15, 2026
8c6e229
docs(dblab-api): fix HTTP method and complete the snapshot endpoints
NikolayS May 15, 2026
5dd37a0
Merge branch 'docs/audit-t3-dblab-api' into 'master'
Sarumyan May 15, 2026
a298660
docs(dblab-cli): document protected duration suffixes, add tctl-path,…
NikolayS May 15, 2026
138c3a7
Merge branch 'docs/audit-t6-dblab-cli' into 'master'
Sarumyan May 15, 2026
56dc245
docs(monitoring): fix pgwatch group names, labels, and frontmatter typo
NikolayS May 18, 2026
171668d
Merge branch 'docs/audit-t2-monitoring' into 'master'
Sarumyan May 18, 2026
24ec979
docs(admin): bump v4.1.1 pins to v4.1.3 across administration howtos
NikolayS May 19, 2026
4d203cb
Merge branch 'docs/audit-t10-admin' into 'master'
Sarumyan May 19, 2026
8ffa321
docs(dblab-howtos): polish cloning, branching, and platform sub-guides
NikolayS May 19, 2026
c9c87c0
Merge branch 'docs/audit-t11-12-14-howto-polish' into 'master'
Sarumyan May 19, 2026
c6dd522
docs(postgres-ai-bot): drop stale date stamp and fix typo
NikolayS May 19, 2026
6550509
Merge branch 'docs/audit-t16-postgres-ai-bot' into 'master'
Sarumyan May 19, 2026
08c2d4c
docs(db-migration-checker): fix type tags and dle.url description
NikolayS May 19, 2026
2c23767
Merge branch 'docs/audit-t17-db-migration-checker' into 'master'
Sarumyan May 19, 2026
ce3c570
docs(joe-bot): fix JOE_DEBUG → JOE_APP_DEBUG and instanceLimit default
NikolayS May 19, 2026
557b627
Merge branch 'docs/audit-t15-joe-bot' into 'master'
Sarumyan May 19, 2026
d2f0b2d
docs: align monitoring docs for postgresai 0.15
May 29, 2026
70bd204
Merge branch 'neo/postgresai-015-docs-release-readiness' into 'master'
Sarumyan May 29, 2026
4b3f56c
docs(monitoring): cover 0.15.0 features (xmin horizon, pg_stat_io, up…
NikolayS Jun 5, 2026
90fe5d8
Merge branch 'docs/0.15-feature-coverage' into 'master'
NikolayS Jun 5, 2026
9e67547
docs(supabase): partnership landing page at /supabase
NikolayS Jun 5, 2026
c2bfe40
Merge branch 'docs/supabase-partnership-landing' into 'master'
NikolayS Jun 5, 2026
076ad82
ci: pin Bun Docker image
Jun 6, 2026
890aa1e
Merge branch 'neo/fix-docs-bun-image-pin' into 'master'
Sarumyan Jun 9, 2026
9a2e76c
ci: unblock production deploy from flaky staging image build
NikolayS Jun 11, 2026
6dec0fe
Merge branch 'docs/ci-unblock-prod-deploy' into 'master'
NikolayS Jun 11, 2026
68aa105
docs(monitoring): fix stale Postgres version support (18 is GA, not b…
NikolayS Jun 24, 2026
2d7df29
Merge branch 'docs/requirements-pg18-ga' into 'master'
NikolayS Jun 24, 2026
38d626b
docs(monitoring): quickstart for Amazon RDS / Aurora over AWS Private…
NikolayS Jun 24, 2026
8fcefa6
Merge branch 'docs/rds-aws-privatelink-quickstart' into 'master'
NikolayS Jun 24, 2026
1e61c17
docs: use npx postgresai@latest in CLI examples (hotfix)
NikolayS Jun 24, 2026
74df951
Merge branch 'docs/cli-version-latest' into 'master'
NikolayS Jun 24, 2026
2f674fc
docs(roadmap): move WE ARE HERE to 2026
NikolayS Jun 24, 2026
c54e982
Merge branch 'docs/roadmap-we-are-here-2026' into 'master'
NikolayS Jun 24, 2026
f67c15f
docs(supabase): embed PostgresAI for Supabase video on /supabase landing
NikolayS Jul 2, 2026
1b5c03a
Merge branch 'docs/supabase-landing-video' into 'master'
NikolayS Jul 2, 2026
99da8d1
docs: deep copy polish of full documentation tree
NikolayS Jul 6, 2026
f3ced94
Merge branch 'docs/copy-polish-docs-deep' into 'master'
NikolayS Jul 6, 2026
daf97f3
Remove careers section
Jul 6, 2026
53dcc0e
Remove careers pages
Jul 7, 2026
6e2f5dd
Merge branch 'maya/remove-careers-section' into 'master'
NikolayS Jul 7, 2026
b1209f8
docs: drop DOCKER_API_VERSION pins, warn against publishing port 2346
agneum Jul 10, 2026
c6db3f3
Merge branch 'docs/dblab-drop-docker-api-pin-and-2346-warning' into '…
Sarumyan Jul 10, 2026
1b304a4
Merge branch 'neo/remove-careers-section-20260706' into 'master'
NikolayS Jul 12, 2026
a5d7f23
docs(cli): document top-level login command
Jul 16, 2026
9fe1e61
docs: pgai joe CLI (Joe API v2)
NikolayS Jul 24, 2026
1df8efe
Merge branch 'docs/pgai-joe-cli' into 'master'
Sarumyan Jul 24, 2026
e595a70
docs: document PostgreSQL 19 beta support
Jul 26, 2026
ae08a77
Remove Starter from public pricing and docs
Jul 30, 2026
8b4f1d4
Merge branch 'maya/252-remove-starter-docs' into 'master'
Sarumyan Jul 30, 2026
8101bf0
Merge branch 'neo/pg19-docs' into 'master'
Sarumyan Jul 31, 2026
f31ec28
Merge branch 'maya/document-top-level-login' into 'master'
Sarumyan Jul 31, 2026
50ee5e0
Text polish: docs site UI components (visible text)
NikolayS Aug 3, 2026
260234e
Merge branch 'text-polish/docs-components-triage' into 'master'
Sarumyan Aug 3, 2026
f5e9d11
docs(monitoring): AAS health-matrix 1-minute peak granularity + calib…
NikolayS Aug 3, 2026
e03e5d8
Merge branch 'docs/wi400-aas-1min-calibration' into 'master'
NikolayS Aug 3, 2026
08e56ab
Text polish: landing page UI text (homepage, pricing, products)
NikolayS Aug 3, 2026
6982dfe
Merge branch 'text-polish/docs-landing-components' into 'master'
Sarumyan Aug 3, 2026
7924d1b
Text polish: DBLab how-to guides (grammar, clarity, SEO)
NikolayS Aug 4, 2026
64d83ec
Merge branch 'text-polish/docs-dblab-howtos' into 'master'
Sarumyan Aug 4, 2026
6b1f68f
feat: add a live Postgres city to the front page
claude Aug 5, 2026
7aa5400
fix(consulting): center CTA label
Aug 5, 2026
bdd6088
Merge branch 'maya/fix-consulting-cta-alignment' into 'master'
Sarumyan Aug 6, 2026
3f5ae2a
Merge GitLab master into the front-page city branch
claude Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
90 changes: 90 additions & 0 deletions .ci/test-sql-snippets.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
#!/usr/bin/env bash
set -Eeuo pipefail
IFS=$'\n\t'

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
POSTGRES_VERSIONS="${POSTGRES_VERSIONS:-12 13 14 15 16 17 18}"
DOCKER_BIN="${DOCKER_BIN:-docker}"
IFS=' ' read -r -a DOCKER_CMD <<< "${DOCKER_BIN}"
TMP_DIR="$(mktemp -d)"
CONTAINERS=()

cleanup() {
local container
for container in "${CONTAINERS[@]:-}"; do
"${DOCKER_CMD[@]}" rm -f "${container}" >/dev/null 2>&1 || true
done
rm -rf "${TMP_DIR}"
}
trap cleanup EXIT

extract_snippet() {
local doc_path="$1"
local snippet_name="$2"
local output_path="$3"

awk -v snippet="${snippet_name}" '
$0 == "<!-- sql-snippet-test: " snippet " begin -->" { inside=1; next }
$0 == "<!-- sql-snippet-test: " snippet " end -->" { inside=0; next }
inside && $0 !~ /^```/ { print }
' "${doc_path}" > "${output_path}"

if ! grep -q '[^[:space:]]' "${output_path}"; then
echo "No SQL extracted for snippet ${snippet_name} from ${doc_path}" >&2
return 1
fi
}

wait_for_postgres() {
local container="$1"
local attempt
for attempt in $(seq 1 60); do
if "${DOCKER_CMD[@]}" exec "${container}" pg_isready -U postgres >/dev/null 2>&1; then
return 0
fi
sleep 1
done
echo "Postgres did not become ready in ${container}" >&2
"${DOCKER_CMD[@]}" logs "${container}" >&2 || true
return 1
}

run_snippet_on_version() {
local version="$1"
local sql_path="$2"
local container="docs-sql-snippets-pg${version}-$$"

echo "[sql-snippets] PostgreSQL ${version}: starting"
"${DOCKER_CMD[@]}" rm -f "${container}" >/dev/null 2>&1 || true
"${DOCKER_CMD[@]}" run \
--detach \
--name "${container}" \
--env POSTGRES_PASSWORD=postgres \
"postgres:${version}" \
>/dev/null
CONTAINERS+=("${container}")
wait_for_postgres "${container}"

echo "[sql-snippets] PostgreSQL ${version}: running xmin horizon snippet"
"${DOCKER_CMD[@]}" exec -i "${container}" \
psql -U postgres -d postgres -v ON_ERROR_STOP=1 \
< "${sql_path}" \
>/dev/null
echo "[sql-snippets] PostgreSQL ${version}: ok"
}

main() {
local doc_path="${ROOT_DIR}/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon.md"
local sql_path="${TMP_DIR}/xmin-horizon.sql"

extract_snippet "${doc_path}" "xmin-horizon" "${sql_path}"

local versions=()
local version
IFS=' ' read -r -a versions <<< "${POSTGRES_VERSIONS}"
for version in "${versions[@]}"; do
run_snippet_on_version "${version}" "${sql_path}"
done
}

main "$@"
1 change: 0 additions & 1 deletion .cursor
Submodule .cursor deleted from e58b69
5 changes: 5 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

- package-ecosystem: "npm"
directory: "/"
schedule:
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# NOTE: This repo is mirrored to GitHub where this workflow runs automatically.
name: "CodeQL"

on:
push:
branches: [master]
pull_request:
branches: [master]
schedule:
- cron: '40 17 * * 5'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: ['javascript']
# CodeQL supports: 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby'

steps:
- name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4

- name: Initialize CodeQL
uses: github/codeql-action/init@820e3160e279568db735cee8ed8f8e77a6da7818 # v3
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@820e3160e279568db735cee8ed8f8e77a6da7818 # v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@820e3160e279568db735cee8ed8f8e77a6da7818 # v3
Loading
Loading