gitextract_l6m7x00t/ ├── .cargo/ │ └── config.toml ├── .config/ │ ├── hakari.toml │ └── nextest.toml ├── .dockerignore ├── .git-blame-ignore-revs ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-template.md │ │ ├── config.yml │ │ └── epic-template.md │ ├── actionlint.yml │ ├── actions/ │ │ ├── allure-report-generate/ │ │ │ └── action.yml │ │ ├── allure-report-store/ │ │ │ └── action.yml │ │ ├── download/ │ │ │ └── action.yml │ │ ├── neon-branch-create/ │ │ │ └── action.yml │ │ ├── neon-branch-delete/ │ │ │ └── action.yml │ │ ├── neon-project-create/ │ │ │ └── action.yml │ │ ├── neon-project-delete/ │ │ │ └── action.yml │ │ ├── prepare-for-subzero/ │ │ │ └── action.yml │ │ ├── run-python-test-set/ │ │ │ └── action.yml │ │ ├── save-coverage-data/ │ │ │ └── action.yml │ │ └── upload/ │ │ └── action.yml │ ├── file-filters.yaml │ ├── pull_request_template.md │ ├── scripts/ │ │ ├── generate_image_maps.py │ │ ├── lint-release-pr.sh │ │ ├── previous-releases.jq │ │ └── push_with_image_map.py │ └── workflows/ │ ├── _benchmarking_preparation.yml │ ├── _build-and-test-locally.yml │ ├── _check-codestyle-python.yml │ ├── _check-codestyle-rust.yml │ ├── _meta.yml │ ├── _push-to-container-registry.yml │ ├── actionlint.yml │ ├── approved-for-ci-run.yml │ ├── benchbase_tpcc.yml │ ├── benchmarking.yml │ ├── build-build-tools-image.yml │ ├── build-macos.yml │ ├── build_and_run_selected_test.yml │ ├── build_and_test.yml │ ├── build_and_test_fully.yml │ ├── build_and_test_with_sanitizers.yml │ ├── cargo-deny.yml │ ├── check-permissions.yml │ ├── cleanup-caches-by-a-branch.yml │ ├── cloud-extensions.yml │ ├── cloud-regress.yml │ ├── fast-forward.yml │ ├── force-test-extensions-upgrade.yml │ ├── ingest_benchmark.yml │ ├── label-for-external-users.yml │ ├── large_oltp_benchmark.yml │ ├── large_oltp_growth.yml │ ├── lint-release-pr.yml │ ├── neon_extra_builds.yml │ ├── periodic_pagebench.yml │ ├── pg-clients.yml │ ├── pin-build-tools-image.yml │ ├── pre-merge-checks.yml │ ├── proxy-benchmark.yml │ ├── random-ops-test.yml │ ├── regenerate-pg-setting.yml │ ├── release-compute.yml │ ├── release-notify.yml │ ├── release-proxy.yml │ ├── release-storage.yml │ ├── release.yml │ ├── report-workflow-stats-batch.yml │ └── trigger-e2e-tests.yml ├── .gitignore ├── .gitmodules ├── .neon_clippy_args ├── CODEOWNERS ├── CONTRIBUTING.md ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── Makefile ├── NOTICE ├── README.md ├── build-tools/ │ ├── Dockerfile │ ├── package.json │ └── patches/ │ └── pgcopydbv017.patch ├── clippy.toml ├── compute/ │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── compute-node.Dockerfile │ ├── etc/ │ │ ├── README.md │ │ ├── ld.so.conf.d/ │ │ │ └── 00-neon.conf │ │ ├── neon_collector.jsonnet │ │ ├── neon_collector_autoscaling.jsonnet │ │ ├── pgbouncer.ini │ │ ├── postgres_exporter.yml │ │ ├── sql_exporter/ │ │ │ ├── checkpoints_req.17.sql │ │ │ ├── checkpoints_req.libsonnet │ │ │ ├── checkpoints_req.sql │ │ │ ├── checkpoints_timed.17.sql │ │ │ ├── checkpoints_timed.libsonnet │ │ │ ├── checkpoints_timed.sql │ │ │ ├── compute_backpressure_throttling_seconds_total.libsonnet │ │ │ ├── compute_backpressure_throttling_seconds_total.sql │ │ │ ├── compute_current_lsn.libsonnet │ │ │ ├── compute_current_lsn.sql │ │ │ ├── compute_getpage_max_inflight_stuck_time_ms.libsonnet │ │ │ ├── compute_getpage_stuck_requests_total.libsonnet │ │ │ ├── compute_logical_snapshot_files.libsonnet │ │ │ ├── compute_logical_snapshot_files.sql │ │ │ ├── compute_logical_snapshots_bytes.15.sql │ │ │ ├── compute_logical_snapshots_bytes.libsonnet │ │ │ ├── compute_logical_snapshots_bytes.sql │ │ │ ├── compute_max_connections.libsonnet │ │ │ ├── compute_max_connections.sql │ │ │ ├── compute_pg_oldest_frozen_xid_age.libsonnet │ │ │ ├── compute_pg_oldest_frozen_xid_age.sql │ │ │ ├── compute_pg_oldest_mxid_age.libsonnet │ │ │ ├── compute_pg_oldest_mxid_age.sql │ │ │ ├── compute_receive_lsn.libsonnet │ │ │ ├── compute_receive_lsn.sql │ │ │ ├── compute_subscriptions_count.libsonnet │ │ │ ├── compute_subscriptions_count.sql │ │ │ ├── connection_counts.libsonnet │ │ │ ├── connection_counts.sql │ │ │ ├── db_total_size.libsonnet │ │ │ ├── db_total_size.sql │ │ │ ├── file_cache_read_wait_seconds_bucket.libsonnet │ │ │ ├── file_cache_read_wait_seconds_bucket.sql │ │ │ ├── file_cache_read_wait_seconds_count.libsonnet │ │ │ ├── file_cache_read_wait_seconds_sum.libsonnet │ │ │ ├── file_cache_write_wait_seconds_bucket.libsonnet │ │ │ ├── file_cache_write_wait_seconds_bucket.sql │ │ │ ├── file_cache_write_wait_seconds_count.libsonnet │ │ │ ├── file_cache_write_wait_seconds_sum.libsonnet │ │ │ ├── getpage_prefetch_discards_total.libsonnet │ │ │ ├── getpage_prefetch_misses_total.libsonnet │ │ │ ├── getpage_prefetch_requests_total.libsonnet │ │ │ ├── getpage_prefetches_buffered.libsonnet │ │ │ ├── getpage_sync_requests_total.libsonnet │ │ │ ├── getpage_wait_seconds_bucket.libsonnet │ │ │ ├── getpage_wait_seconds_bucket.sql │ │ │ ├── getpage_wait_seconds_count.libsonnet │ │ │ ├── getpage_wait_seconds_sum.libsonnet │ │ │ ├── lfc_approximate_working_set_size.libsonnet │ │ │ ├── lfc_approximate_working_set_size.sql │ │ │ ├── lfc_approximate_working_set_size_windows.autoscaling.libsonnet │ │ │ ├── lfc_approximate_working_set_size_windows.autoscaling.sql │ │ │ ├── lfc_approximate_working_set_size_windows.libsonnet │ │ │ ├── lfc_approximate_working_set_size_windows.sql │ │ │ ├── lfc_cache_size_limit.libsonnet │ │ │ ├── lfc_cache_size_limit.sql │ │ │ ├── lfc_chunk_size.libsonnet │ │ │ ├── lfc_chunk_size.sql │ │ │ ├── lfc_hits.libsonnet │ │ │ ├── lfc_hits.sql │ │ │ ├── lfc_misses.libsonnet │ │ │ ├── lfc_misses.sql │ │ │ ├── lfc_used.libsonnet │ │ │ ├── lfc_used.sql │ │ │ ├── lfc_used_pages.libsonnet │ │ │ ├── lfc_used_pages.sql │ │ │ ├── lfc_writes.libsonnet │ │ │ ├── lfc_writes.sql │ │ │ ├── logical_slot_restart_lsn.libsonnet │ │ │ ├── logical_slot_restart_lsn.sql │ │ │ ├── max_cluster_size.libsonnet │ │ │ ├── max_cluster_size.sql │ │ │ ├── neon_perf_counters.sql │ │ │ ├── pageserver_disconnects_total.libsonnet │ │ │ ├── pageserver_open_requests.libsonnet │ │ │ ├── pageserver_requests_sent_total.libsonnet │ │ │ ├── pageserver_send_flushes_total.libsonnet │ │ │ ├── pg_stats_userdb.libsonnet │ │ │ ├── pg_stats_userdb.sql │ │ │ ├── replication_delay_bytes.libsonnet │ │ │ ├── replication_delay_bytes.sql │ │ │ ├── replication_delay_seconds.libsonnet │ │ │ ├── replication_delay_seconds.sql │ │ │ ├── retained_wal.libsonnet │ │ │ ├── retained_wal.sql │ │ │ ├── wal_is_lost.libsonnet │ │ │ └── wal_is_lost.sql │ │ └── sql_exporter.jsonnet │ ├── jsonnet/ │ │ └── neon.libsonnet │ ├── manifest.schema.json │ ├── manifest.yaml │ ├── patches/ │ │ ├── anon_v2.patch │ │ ├── cloud_regress_pg16.patch │ │ ├── cloud_regress_pg17.patch │ │ ├── contrib_pg16.patch │ │ ├── contrib_pg17.patch │ │ ├── duckdb_v113.patch │ │ ├── duckdb_v120.patch │ │ ├── onnxruntime.patch │ │ ├── pg_cron.patch │ │ ├── pg_duckdb_v031.patch │ │ ├── pg_graphql.patch │ │ ├── pg_hint_plan_v16.patch │ │ ├── pg_hint_plan_v17.patch │ │ ├── pg_repack.patch │ │ ├── pg_stat_statements_pg14-16.patch │ │ ├── pg_stat_statements_pg17.patch │ │ ├── pgaudit-parallel_workers-v14.patch │ │ ├── pgaudit-parallel_workers-v15.patch │ │ ├── pgaudit-parallel_workers-v16.patch │ │ ├── pgaudit-parallel_workers-v17.patch │ │ ├── pgvector.patch │ │ ├── plv8_v3.1.10.patch │ │ ├── plv8_v3.2.3.patch │ │ ├── postgres_fdw.patch │ │ └── rum.patch │ ├── vm-image-spec-bookworm.yaml │ └── vm-image-spec-bullseye.yaml ├── compute_tools/ │ ├── .dockerignore │ ├── .gitignore │ ├── Cargo.toml │ ├── README.md │ ├── rustfmt.toml │ ├── src/ │ │ ├── bin/ │ │ │ ├── compute_ctl.rs │ │ │ ├── fast_import/ │ │ │ │ ├── aws_s3_sync.rs │ │ │ │ ├── child_stdio_to_log.rs │ │ │ │ └── s3_uri.rs │ │ │ └── fast_import.rs │ │ ├── catalog.rs │ │ ├── checker.rs │ │ ├── communicator_socket_client.rs │ │ ├── compute.rs │ │ ├── compute_prewarm.rs │ │ ├── compute_promote.rs │ │ ├── config.rs │ │ ├── config_template/ │ │ │ ├── compute_audit_rsyslog_template.conf │ │ │ └── compute_rsyslog_postgres_export_template.conf │ │ ├── configurator.rs │ │ ├── disk_quota.rs │ │ ├── extension_server.rs │ │ ├── hadron_metrics.rs │ │ ├── http/ │ │ │ ├── extract/ │ │ │ │ ├── json.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── path.rs │ │ │ │ ├── query.rs │ │ │ │ └── request_id.rs │ │ │ ├── headers.rs │ │ │ ├── middleware/ │ │ │ │ ├── authorize.rs │ │ │ │ ├── mod.rs │ │ │ │ └── request_id.rs │ │ │ ├── mod.rs │ │ │ ├── openapi_spec.yaml │ │ │ ├── routes/ │ │ │ │ ├── check_writability.rs │ │ │ │ ├── configure.rs │ │ │ │ ├── database_schema.rs │ │ │ │ ├── dbs_and_roles.rs │ │ │ │ ├── extension_server.rs │ │ │ │ ├── extensions.rs │ │ │ │ ├── failpoints.rs │ │ │ │ ├── grants.rs │ │ │ │ ├── hadron_liveness_probe.rs │ │ │ │ ├── insights.rs │ │ │ │ ├── lfc.rs │ │ │ │ ├── metrics.rs │ │ │ │ ├── metrics_json.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── promote.rs │ │ │ │ ├── refresh_configuration.rs │ │ │ │ ├── status.rs │ │ │ │ └── terminate.rs │ │ │ └── server.rs │ │ ├── installed_extensions.rs │ │ ├── lib.rs │ │ ├── local_proxy.rs │ │ ├── logger.rs │ │ ├── lsn_lease.rs │ │ ├── metrics.rs │ │ ├── migration.rs │ │ ├── migrations/ │ │ │ ├── 0001-add_bypass_rls_to_privileged_role.sql │ │ │ ├── 0002-alter_roles.sql │ │ │ ├── 0003-grant_pg_create_subscription_to_privileged_role.sql │ │ │ ├── 0004-grant_pg_monitor_to_privileged_role.sql │ │ │ ├── 0005-grant_all_on_tables_to_privileged_role.sql │ │ │ ├── 0006-grant_all_on_sequences_to_privileged_role.sql │ │ │ ├── 0007-grant_all_on_tables_with_grant_option_to_privileged_role.sql │ │ │ ├── 0008-grant_all_on_sequences_with_grant_option_to_privileged_role.sql │ │ │ ├── 0009-revoke_replication_for_previously_allowed_roles.sql │ │ │ ├── 0010-grant_snapshot_synchronization_funcs_to_privileged_role.sql │ │ │ ├── 0011-grant_pg_show_replication_origin_status_to_privileged_role.sql │ │ │ ├── 0012-grant_pg_signal_backend_to_privileged_role.sql │ │ │ └── tests/ │ │ │ ├── 0001-add_bypass_rls_to_privileged_role.sql │ │ │ ├── 0002-alter_roles.sql │ │ │ ├── 0003-grant_pg_create_subscription_to_privileged_role.sql │ │ │ ├── 0004-grant_pg_monitor_to_privileged_role.sql │ │ │ ├── 0005-grant_all_on_tables_to_privileged_role.sql │ │ │ ├── 0006-grant_all_on_sequences_to_privileged_role.sql │ │ │ ├── 0007-grant_all_on_tables_with_grant_option_to_privileged_role.sql │ │ │ ├── 0008-grant_all_on_sequences_with_grant_option_to_privileged_role.sql │ │ │ ├── 0009-revoke_replication_for_previously_allowed_roles.sql │ │ │ ├── 0010-grant_snapshot_synchronization_funcs_to_privileged_role.sql │ │ │ ├── 0011-grant_pg_show_replication_origin_status_to_privileged_role.sql │ │ │ └── 0012-grant_pg_signal_backend_to_privileged_role.sql │ │ ├── monitor.rs │ │ ├── params.rs │ │ ├── pg_helpers.rs │ │ ├── pg_isready.rs │ │ ├── pgbouncer.rs │ │ ├── rsyslog.rs │ │ ├── spec.rs │ │ ├── spec_apply.rs │ │ ├── sql/ │ │ │ ├── add_availabilitycheck_tables.sql │ │ │ ├── alter_databricks_reader_roles_timeout.sql │ │ │ ├── create_databricks_misc.sql │ │ │ ├── create_privileged_role.sql │ │ │ ├── default_grants.sql │ │ │ ├── drop_subscriptions.sql │ │ │ ├── finalize_drop_subscriptions.sql │ │ │ ├── pre_drop_role_revoke_privileges.sql │ │ │ ├── set_public_schema_owner.sql │ │ │ └── unset_template_for_drop_dbs.sql │ │ ├── swap.rs │ │ ├── sync_sk.rs │ │ └── tls.rs │ └── tests/ │ ├── README.md │ ├── cluster_spec.json │ ├── config_test.rs │ └── pg_helpers_tests.rs ├── control_plane/ │ ├── .gitignore │ ├── Cargo.toml │ ├── README.md │ ├── safekeepers.conf │ ├── simple.conf │ ├── src/ │ │ ├── background_process.rs │ │ ├── bin/ │ │ │ └── neon_local.rs │ │ ├── branch_mappings.rs │ │ ├── broker.rs │ │ ├── endpoint.rs │ │ ├── endpoint_storage.rs │ │ ├── lib.rs │ │ ├── local_env.rs │ │ ├── pageserver.rs │ │ ├── postgresql_conf.rs │ │ ├── safekeeper.rs │ │ └── storage_controller.rs │ └── storcon_cli/ │ ├── Cargo.toml │ └── src/ │ └── main.rs ├── deny.toml ├── diesel.toml ├── docker-compose/ │ ├── README.md │ ├── compute_wrapper/ │ │ ├── Dockerfile │ │ ├── private-key.pem │ │ ├── public-key.der │ │ ├── public-key.pem │ │ ├── shell/ │ │ │ └── compute.sh │ │ └── var/ │ │ └── db/ │ │ └── postgres/ │ │ └── configs/ │ │ └── config.json │ ├── docker-compose.yml │ ├── docker_compose_test.sh │ ├── ext-src/ │ │ ├── README.md │ │ ├── alter_db.sh │ │ ├── h3-pg-src/ │ │ │ ├── neon-test.sh │ │ │ └── test-upgrade.sh │ │ ├── hll-src/ │ │ │ ├── regular-test.sh │ │ │ └── test-upgrade.sh │ │ ├── hypopg-src/ │ │ │ ├── regular-test.sh │ │ │ ├── test-upgrade.patch │ │ │ └── test-upgrade.sh │ │ ├── ip4r-src/ │ │ │ ├── regular-test.sh │ │ │ ├── test-upgrade.patch │ │ │ └── test-upgrade.sh │ │ ├── online_advisor-src/ │ │ │ ├── neon-test.sh │ │ │ └── regular-test.sh │ │ ├── pg_cron-src/ │ │ │ ├── regular-test.sh │ │ │ ├── test-upgrade.patch │ │ │ └── test-upgrade.sh │ │ ├── pg_graphql-src/ │ │ │ ├── neon-test.sh │ │ │ └── regular-test.sh │ │ ├── pg_hint_plan-src/ │ │ │ └── regular-test.sh │ │ ├── pg_ivm-src/ │ │ │ ├── regular-test.sh │ │ │ ├── regular.patch │ │ │ ├── test-upgrade.patch │ │ │ └── test-upgrade.sh │ │ ├── pg_jsonschema-src/ │ │ │ ├── Makefile │ │ │ ├── expected/ │ │ │ │ ├── jsonschema_edge_cases.out │ │ │ │ └── jsonschema_valid_api.out │ │ │ └── sql/ │ │ │ ├── jsonschema_edge_cases.sql │ │ │ └── jsonschema_valid_api.sql │ │ ├── pg_repack-src/ │ │ │ └── test-upgrade.sh │ │ ├── pg_roaringbitmap-src/ │ │ │ ├── regular-test.sh │ │ │ ├── test-upgrade.patch │ │ │ └── test-upgrade.sh │ │ ├── pg_semver-src/ │ │ │ ├── regular-test.sh │ │ │ ├── test-upgrade-v16.patch │ │ │ ├── test-upgrade-v17.patch │ │ │ └── test-upgrade.sh │ │ ├── pg_session_jwt-src/ │ │ │ ├── Makefile │ │ │ ├── expected/ │ │ │ │ └── basic_functions.out │ │ │ └── sql/ │ │ │ └── basic_functions.sql │ │ ├── pg_tiktoken-src/ │ │ │ ├── Makefile │ │ │ ├── expected/ │ │ │ │ └── pg_tiktoken.out │ │ │ └── sql/ │ │ │ └── pg_tiktoken.sql │ │ ├── pg_uuidv7-src/ │ │ │ ├── regular-test.sh │ │ │ └── test-upgrade.sh │ │ ├── pgjwt-src/ │ │ │ ├── neon-test.sh │ │ │ ├── test-upgrade.patch │ │ │ └── test-upgrade.sh │ │ ├── pgrag-src/ │ │ │ ├── Makefile │ │ │ ├── expected/ │ │ │ │ ├── api_keys.out │ │ │ │ ├── basic_functions.out │ │ │ │ ├── chunking_functions.out │ │ │ │ ├── document_processing.out │ │ │ │ ├── embedding_api_functions.out │ │ │ │ ├── embedding_functions.out │ │ │ │ ├── text_processing.out │ │ │ │ └── voyageai_functions.out │ │ │ ├── regular-test.sh │ │ │ └── sql/ │ │ │ ├── api_keys.sql │ │ │ ├── basic_functions.sql │ │ │ ├── chunking_functions.sql │ │ │ ├── document_processing.sql │ │ │ ├── embedding_api_functions.sql │ │ │ ├── text_processing.sql │ │ │ └── voyageai_functions.sql │ │ ├── pgtap-src/ │ │ │ ├── regular-test.sh │ │ │ ├── test-upgrade.patch │ │ │ └── test-upgrade.sh │ │ ├── pgvector-src/ │ │ │ ├── regular-test.sh │ │ │ └── test-upgrade.sh │ │ ├── pgx_ulid-src/ │ │ │ ├── Makefile │ │ │ ├── expected/ │ │ │ │ ├── 00_ulid_generation.out │ │ │ │ ├── 01_ulid_conversions.out │ │ │ │ ├── 02_ulid_conversions.out │ │ │ │ └── 03_ulid_errors.out │ │ │ └── sql/ │ │ │ ├── 00_ulid_generation.sql │ │ │ ├── 01_ulid_conversions.sql │ │ │ ├── 02_ulid_conversions.sql │ │ │ └── 03_ulid_errors.sql │ │ ├── plv8-src/ │ │ │ ├── regular-test.sh │ │ │ └── test-upgrade.sh │ │ ├── postgis-src/ │ │ │ ├── README-Neon.md │ │ │ ├── neon-test.sh │ │ │ ├── postgis-common-v16.patch │ │ │ ├── postgis-common-v17.patch │ │ │ ├── postgis-regular-v16.patch │ │ │ ├── postgis-regular-v17.patch │ │ │ ├── raster_outdb_template.sql │ │ │ └── regular-test.sh │ │ ├── postgresql-unit-src/ │ │ │ ├── regular-test.sh │ │ │ └── test-upgrade.sh │ │ ├── prefix-src/ │ │ │ ├── regular-test.sh │ │ │ └── test-upgrade.sh │ │ ├── rag_bge_small_en_v15-src/ │ │ │ ├── Makefile │ │ │ ├── expected/ │ │ │ │ ├── basic_functions.out │ │ │ │ ├── basic_functions_enhanced.out │ │ │ │ ├── embedding_functions.out │ │ │ │ └── embedding_functions_enhanced.out │ │ │ └── sql/ │ │ │ ├── basic_functions.sql │ │ │ ├── basic_functions_enhanced.sql │ │ │ ├── embedding_functions.sql │ │ │ └── embedding_functions_enhanced.sql │ │ ├── rag_jina_reranker_v1_tiny_en-src/ │ │ │ ├── Makefile │ │ │ ├── expected/ │ │ │ │ ├── reranking_functions.out │ │ │ │ └── reranking_functions_enhanced.out │ │ │ └── sql/ │ │ │ ├── reranking_functions.sql │ │ │ └── reranking_functions_enhanced.sql │ │ └── rum-src/ │ │ ├── regular-test.sh │ │ ├── test-upgrade.patch │ │ └── test-upgrade.sh │ ├── pageserver_config/ │ │ ├── identity.toml │ │ └── pageserver.toml │ ├── run-tests.sh │ └── test_extensions_upgrade.sh ├── docs/ │ ├── .gitignore │ ├── SUMMARY.md │ ├── authentication.md │ ├── book.toml │ ├── consumption_metrics.md │ ├── core_changes.md │ ├── docker.md │ ├── error-handling.md │ ├── glossary.md │ ├── multitenancy.md │ ├── pageserver-compaction.md │ ├── pageserver-page-service.md │ ├── pageserver-pagecache.md │ ├── pageserver-processing-getpage.md │ ├── pageserver-processing-wal.md │ ├── pageserver-services.md │ ├── pageserver-storage.md │ ├── pageserver-tenant-migration.md │ ├── pageserver-thread-mgmt.md │ ├── pageserver-walredo.md │ ├── pageserver.md │ ├── rfcs/ │ │ ├── 001-cluster-size-limits.md │ │ ├── 002-storage.md │ │ ├── 003-laptop-cli.md │ │ ├── 004-durability.md │ │ ├── 005-zenith_local.md │ │ ├── 006-laptop-cli-v2-CLI.md │ │ ├── 006-laptop-cli-v2-repository-structure.md │ │ ├── 007-serverless-on-laptop.md │ │ ├── 008-push-pull.md │ │ ├── 009-snapshot-first-storage-cli.md │ │ ├── 009-snapshot-first-storage-pitr.md │ │ ├── 009-snapshot-first-storage.md │ │ ├── 010-storage_details.md │ │ ├── 011-retention-policy.md │ │ ├── 012-background-tasks.md │ │ ├── 013-term-history.md │ │ ├── 014-safekeepers-gossip.md │ │ ├── 014-storage-lsm.md │ │ ├── 015-storage-messaging.md │ │ ├── 016-connection-routing.md │ │ ├── 017-console-split.md │ │ ├── 017-timeline-data-management.md │ │ ├── 018-storage-messaging-2.md │ │ ├── 019-tenant-timeline-lifecycles.md │ │ ├── 020-pageserver-s3-coordination.md │ │ ├── 021-metering.md │ │ ├── 022-pageserver-delete-from-s3.md │ │ ├── 023-the-state-of-pageserver-tenant-relocation.md │ │ ├── 024-extension-loading.md │ │ ├── 024-user-mgmt.md │ │ ├── 025-generation-numbers.md │ │ ├── 026-pageserver-s3-mvcc.md │ │ ├── 027-crash-consistent-layer-map-through-index-part.md │ │ ├── 028-pageserver-migration.md │ │ ├── 029-getpage-throttling.md │ │ ├── 029-pageserver-wal-disaster-recovery.md │ │ ├── 030-vectored-timeline-get.md │ │ ├── 031-sharding-static.md │ │ ├── 032-shard-splitting.md │ │ ├── 033-storage-controller-drain-and-fill.md │ │ ├── 034-ancestor-deletion.md │ │ ├── 035-safekeeper-dynamic-membership-change.md │ │ ├── 035-timeline-archive.md │ │ ├── 036-physical-replication.md │ │ ├── 037-storage-controller-restarts.md │ │ ├── 038-aux-file-v2.md │ │ ├── 038-independent-compute-release.md │ │ ├── 040-Endpoint-Persistent-Unlogged-Files-Storage.md │ │ ├── 040-profiling.md │ │ ├── 041-rel-sparse-keyspace.md │ │ ├── 041-sharded-ingest.md │ │ ├── 043-bottom-most-gc-compaction.md │ │ ├── 044-feature-flag.md │ │ ├── 2025-02-14-storage-controller.md │ │ ├── 2025-03-17-compute-prewarm.md │ │ ├── 2025-04-30-direct-io-for-pageserver.md │ │ ├── 2025-04-30-pageserver-concurrent-io-on-read-path.md │ │ ├── 2025-07-07-node-deletion-api-improvement.md │ │ ├── README.md │ │ └── YYYY-MM-DD-copy-me.md │ ├── safekeeper-protocol.md │ ├── separation-compute-storage.md │ ├── settings.md │ ├── sourcetree.md │ ├── storage_broker.md │ ├── storage_controller.md │ ├── synthetic-size.md │ ├── tools.md │ ├── updating-postgres.md │ └── walservice.md ├── endpoint_storage/ │ ├── Cargo.toml │ └── src/ │ ├── app.rs │ ├── claims.rs │ ├── lib.rs │ ├── main.rs │ └── openapi_spec.yml ├── libs/ │ ├── compute_api/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── lib.rs │ │ │ ├── privilege.rs │ │ │ ├── requests.rs │ │ │ ├── responses.rs │ │ │ └── spec.rs │ │ └── tests/ │ │ └── cluster_spec.json │ ├── consumption_metrics/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── desim/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── src/ │ │ │ ├── chan.rs │ │ │ ├── executor.rs │ │ │ ├── lib.rs │ │ │ ├── network.rs │ │ │ ├── node_os.rs │ │ │ ├── options.rs │ │ │ ├── proto.rs │ │ │ ├── time.rs │ │ │ └── world.rs │ │ └── tests/ │ │ └── reliable_copy_test.rs │ ├── http-utils/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── endpoint.rs │ │ ├── error.rs │ │ ├── failpoints.rs │ │ ├── json.rs │ │ ├── lib.rs │ │ ├── request.rs │ │ ├── server.rs │ │ └── tls_certs.rs │ ├── metrics/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── hll.rs │ │ ├── launch_timestamp.rs │ │ ├── lib.rs │ │ ├── more_process_metrics.rs │ │ └── wrappers.rs │ ├── neon-shmem/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── hash/ │ │ │ ├── core.rs │ │ │ ├── entry.rs │ │ │ └── tests.rs │ │ ├── hash.rs │ │ ├── lib.rs │ │ ├── shmem.rs │ │ └── sync.rs │ ├── pageserver_api/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── config/ │ │ │ └── tests.rs │ │ ├── config.rs │ │ ├── controller_api.rs │ │ ├── key.rs │ │ ├── keyspace.rs │ │ ├── lib.rs │ │ ├── models/ │ │ │ ├── detach_ancestor.rs │ │ │ ├── partitioning.rs │ │ │ └── utilization.rs │ │ ├── models.rs │ │ ├── pagestream_api.rs │ │ ├── reltag.rs │ │ ├── shard.rs │ │ └── upcall_api.rs │ ├── postgres_backend/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ └── lib.rs │ │ └── tests/ │ │ ├── cert.pem │ │ ├── key.pem │ │ └── simple_select.rs │ ├── postgres_connection/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── postgres_ffi/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── benches/ │ │ │ ├── README.md │ │ │ └── waldecoder.rs │ │ ├── bindgen_deps.h │ │ ├── build.rs │ │ ├── samples/ │ │ │ └── pg_hba.conf │ │ ├── src/ │ │ │ ├── controlfile_utils.rs │ │ │ ├── lib.rs │ │ │ ├── nonrelfile_utils.rs │ │ │ ├── pg_constants.rs │ │ │ ├── pg_constants_v14.rs │ │ │ ├── pg_constants_v15.rs │ │ │ ├── pg_constants_v16.rs │ │ │ ├── pg_constants_v17.rs │ │ │ ├── relfile_utils.rs │ │ │ ├── wal_craft_test_export.rs │ │ │ ├── wal_generator.rs │ │ │ ├── waldecoder_handler.rs │ │ │ ├── walrecord.rs │ │ │ └── xlog_utils.rs │ │ └── wal_craft/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── bin/ │ │ │ └── wal_craft.rs │ │ ├── lib.rs │ │ └── xlog_utils_test.rs │ ├── postgres_ffi_types/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── constants.rs │ │ ├── forknum.rs │ │ └── lib.rs │ ├── postgres_initdb/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── postgres_versioninfo/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── posthog_client_lite/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── background_loop.rs │ │ └── lib.rs │ ├── pq_proto/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── framed.rs │ │ └── lib.rs │ ├── proxy/ │ │ ├── README.md │ │ ├── json/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ ├── macros.rs │ │ │ ├── str.rs │ │ │ └── value.rs │ │ ├── postgres-protocol2/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── authentication/ │ │ │ │ ├── mod.rs │ │ │ │ └── sasl.rs │ │ │ ├── escape/ │ │ │ │ ├── mod.rs │ │ │ │ └── test.rs │ │ │ ├── lib.rs │ │ │ ├── message/ │ │ │ │ ├── backend.rs │ │ │ │ ├── frontend.rs │ │ │ │ └── mod.rs │ │ │ ├── password/ │ │ │ │ ├── mod.rs │ │ │ │ └── test.rs │ │ │ └── types/ │ │ │ ├── mod.rs │ │ │ └── test.rs │ │ ├── postgres-types2/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ ├── private.rs │ │ │ └── type_gen.rs │ │ ├── subzero_core/ │ │ │ ├── .gitignore │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── tokio-postgres2/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── cancel_query.rs │ │ ├── cancel_query_raw.rs │ │ ├── cancel_token.rs │ │ ├── client.rs │ │ ├── codec.rs │ │ ├── config.rs │ │ ├── connect.rs │ │ ├── connect_raw.rs │ │ ├── connect_socket.rs │ │ ├── connect_tls.rs │ │ ├── connection.rs │ │ ├── error/ │ │ │ ├── mod.rs │ │ │ └── sqlstate.rs │ │ ├── generic_client.rs │ │ ├── lib.rs │ │ ├── maybe_tls_stream.rs │ │ ├── prepare.rs │ │ ├── query.rs │ │ ├── row.rs │ │ ├── simple_query.rs │ │ ├── statement.rs │ │ ├── tls.rs │ │ ├── transaction.rs │ │ ├── transaction_builder.rs │ │ └── types.rs │ ├── remote_storage/ │ │ ├── Cargo.toml │ │ ├── src/ │ │ │ ├── azure_blob.rs │ │ │ ├── config.rs │ │ │ ├── error.rs │ │ │ ├── gcs_bucket.rs │ │ │ ├── lib.rs │ │ │ ├── local_fs.rs │ │ │ ├── metrics.rs │ │ │ ├── s3_bucket.rs │ │ │ ├── simulate_failures.rs │ │ │ └── support.rs │ │ └── tests/ │ │ ├── common/ │ │ │ ├── mod.rs │ │ │ └── tests.rs │ │ ├── test_real_azure.rs │ │ ├── test_real_gcs.rs │ │ └── test_real_s3.rs │ ├── safekeeper_api/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ ├── membership.rs │ │ └── models.rs │ ├── tenant_size_model/ │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── Makefile │ │ ├── README.md │ │ ├── src/ │ │ │ ├── calculation.rs │ │ │ ├── lib.rs │ │ │ └── svg.rs │ │ └── tests/ │ │ └── tests.rs │ ├── tracing-utils/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── http.rs │ │ ├── lib.rs │ │ └── perf_span.rs │ ├── utils/ │ │ ├── Cargo.toml │ │ ├── benches/ │ │ │ ├── README.md │ │ │ └── benchmarks.rs │ │ ├── scripts/ │ │ │ ├── restore_from_wal.sh │ │ │ └── restore_from_wal_initdb.sh │ │ ├── src/ │ │ │ ├── auth.rs │ │ │ ├── backoff.rs │ │ │ ├── bin_ser.rs │ │ │ ├── circuit_breaker.rs │ │ │ ├── completion.rs │ │ │ ├── crashsafe.rs │ │ │ ├── elapsed_accum.rs │ │ │ ├── env.rs │ │ │ ├── error.rs │ │ │ ├── failpoint_support.rs │ │ │ ├── fs_ext/ │ │ │ │ └── rename_noreplace.rs │ │ │ ├── fs_ext.rs │ │ │ ├── generation.rs │ │ │ ├── guard_arc_swap.rs │ │ │ ├── hex.rs │ │ │ ├── id.rs │ │ │ ├── ip_address.rs │ │ │ ├── leaky_bucket.rs │ │ │ ├── lib.rs │ │ │ ├── linux_socket_ioctl.rs │ │ │ ├── lock_file.rs │ │ │ ├── logging.rs │ │ │ ├── lsn.rs │ │ │ ├── measured_stream.rs │ │ │ ├── metrics_collector.rs │ │ │ ├── pageserver_feedback.rs │ │ │ ├── pid_file.rs │ │ │ ├── poison.rs │ │ │ ├── postgres_client.rs │ │ │ ├── rate_limit.rs │ │ │ ├── sentry_init.rs │ │ │ ├── seqwait.rs │ │ │ ├── serde_percent.rs │ │ │ ├── serde_regex.rs │ │ │ ├── serde_system_time.rs │ │ │ ├── shard.rs │ │ │ ├── signals.rs │ │ │ ├── simple_rcu.rs │ │ │ ├── span.rs │ │ │ ├── sync/ │ │ │ │ ├── duplex/ │ │ │ │ │ └── mpsc.rs │ │ │ │ ├── duplex.rs │ │ │ │ ├── gate.rs │ │ │ │ ├── heavier_once_cell.rs │ │ │ │ └── spsc_fold.rs │ │ │ ├── sync.rs │ │ │ ├── tcp_listener.rs │ │ │ ├── timeout.rs │ │ │ ├── toml_edit_ext.rs │ │ │ ├── tracing_span_assert.rs │ │ │ ├── try_rcu.rs │ │ │ ├── vec_map.rs │ │ │ ├── yielding_loop.rs │ │ │ └── zstd.rs │ │ └── tests/ │ │ └── bin_ser_test.rs │ ├── vm_monitor/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── bin/ │ │ │ └── monitor.rs │ │ ├── cgroup.rs │ │ ├── dispatcher.rs │ │ ├── filecache.rs │ │ ├── lib.rs │ │ ├── protocol.rs │ │ └── runner.rs │ ├── wal_decoder/ │ │ ├── Cargo.toml │ │ ├── benches/ │ │ │ ├── README.md │ │ │ └── bench_interpret_wal.rs │ │ ├── build.rs │ │ ├── proto/ │ │ │ └── interpreted_wal.proto │ │ └── src/ │ │ ├── decoder.rs │ │ ├── lib.rs │ │ ├── models/ │ │ │ ├── record.rs │ │ │ └── value.rs │ │ ├── models.rs │ │ ├── serialized_batch.rs │ │ └── wire_format.rs │ └── walproposer/ │ ├── Cargo.toml │ ├── bindgen_deps.h │ ├── build.rs │ └── src/ │ ├── api_bindings.rs │ ├── lib.rs │ └── walproposer.rs ├── pageserver/ │ ├── Cargo.toml │ ├── benches/ │ │ ├── README.md │ │ ├── bench_ingest.rs │ │ ├── bench_layer_map.rs │ │ ├── bench_metrics.rs │ │ ├── bench_walredo.rs │ │ ├── large-layer-map-layernames.txt │ │ ├── odd-brook-layernames.txt │ │ └── upload_queue.rs │ ├── client/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ ├── mgmt_api/ │ │ │ └── util.rs │ │ ├── mgmt_api.rs │ │ └── page_service.rs │ ├── client_grpc/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── client.rs │ │ ├── lib.rs │ │ ├── pool.rs │ │ └── retry.rs │ ├── compaction/ │ │ ├── Cargo.toml │ │ ├── TODO.md │ │ ├── src/ │ │ │ ├── bin/ │ │ │ │ └── compaction-simulator.rs │ │ │ ├── compact_tiered.rs │ │ │ ├── helpers.rs │ │ │ ├── identify_levels.rs │ │ │ ├── interface.rs │ │ │ ├── lib.rs │ │ │ ├── simulator/ │ │ │ │ └── draw.rs │ │ │ └── simulator.rs │ │ └── tests/ │ │ └── tests.rs │ ├── ctl/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── download_remote_object.rs │ │ ├── draw_timeline_dir.rs │ │ ├── index_part.rs │ │ ├── key.rs │ │ ├── layer_map_analyzer.rs │ │ ├── layers.rs │ │ ├── main.rs │ │ └── page_trace.rs │ ├── page_api/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── proto/ │ │ │ └── page_service.proto │ │ └── src/ │ │ ├── client.rs │ │ ├── lib.rs │ │ ├── model.rs │ │ └── split.rs │ ├── pagebench/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── cmd/ │ │ │ ├── aux_files.rs │ │ │ ├── basebackup.rs │ │ │ ├── getpage_latest_lsn.rs │ │ │ ├── idle_streams.rs │ │ │ ├── ondemand_download_churn.rs │ │ │ └── trigger_initial_size_calculation.rs │ │ ├── main.rs │ │ └── util/ │ │ ├── cli/ │ │ │ └── targets.rs │ │ ├── request_stats.rs │ │ └── tokio_thread_local_stats.rs │ ├── src/ │ │ ├── assert_u64_eq_usize.rs │ │ ├── auth.rs │ │ ├── aux_file.rs │ │ ├── basebackup.rs │ │ ├── basebackup_cache.rs │ │ ├── bin/ │ │ │ ├── pageserver.rs │ │ │ └── test_helper_slow_client_reads.rs │ │ ├── config/ │ │ │ └── ignored_fields.rs │ │ ├── config.rs │ │ ├── consumption_metrics/ │ │ │ ├── disk_cache.rs │ │ │ ├── metrics/ │ │ │ │ └── tests.rs │ │ │ ├── metrics.rs │ │ │ └── upload.rs │ │ ├── consumption_metrics.rs │ │ ├── context.rs │ │ ├── controller_upcall_client.rs │ │ ├── deletion_queue/ │ │ │ ├── deleter.rs │ │ │ ├── list_writer.rs │ │ │ └── validator.rs │ │ ├── deletion_queue.rs │ │ ├── disk_usage_eviction_task.rs │ │ ├── feature_resolver.rs │ │ ├── http/ │ │ │ ├── mod.rs │ │ │ ├── openapi_spec.yml │ │ │ └── routes.rs │ │ ├── import_datadir.rs │ │ ├── l0_flush.rs │ │ ├── lib.rs │ │ ├── metrics.rs │ │ ├── page_cache.rs │ │ ├── page_service.rs │ │ ├── pgdatadir_mapping.rs │ │ ├── span.rs │ │ ├── statvfs.rs │ │ ├── task_mgr.rs │ │ ├── tenant/ │ │ │ ├── blob_io.rs │ │ │ ├── block_io.rs │ │ │ ├── checks.rs │ │ │ ├── config.rs │ │ │ ├── debug.rs │ │ │ ├── disk_btree.rs │ │ │ ├── disk_btree_test_data.rs │ │ │ ├── ephemeral_file.rs │ │ │ ├── gc_block.rs │ │ │ ├── gc_result.rs │ │ │ ├── layer_map/ │ │ │ │ ├── historic_layer_coverage.rs │ │ │ │ └── layer_coverage.rs │ │ │ ├── layer_map.rs │ │ │ ├── metadata.rs │ │ │ ├── mgr.rs │ │ │ ├── remote_timeline_client/ │ │ │ │ ├── download.rs │ │ │ │ ├── index.rs │ │ │ │ ├── manifest.rs │ │ │ │ └── upload.rs │ │ │ ├── remote_timeline_client.rs │ │ │ ├── secondary/ │ │ │ │ ├── downloader.rs │ │ │ │ ├── heatmap.rs │ │ │ │ ├── heatmap_uploader.rs │ │ │ │ └── scheduler.rs │ │ │ ├── secondary.rs │ │ │ ├── size.rs │ │ │ ├── storage_layer/ │ │ │ │ ├── batch_split_writer.rs │ │ │ │ ├── delta_layer.rs │ │ │ │ ├── errors.rs │ │ │ │ ├── filter_iterator.rs │ │ │ │ ├── image_layer.rs │ │ │ │ ├── inmemory_layer/ │ │ │ │ │ └── vectored_dio_read.rs │ │ │ │ ├── inmemory_layer.rs │ │ │ │ ├── layer/ │ │ │ │ │ ├── failpoints.rs │ │ │ │ │ └── tests.rs │ │ │ │ ├── layer.rs │ │ │ │ ├── layer_desc.rs │ │ │ │ ├── layer_name.rs │ │ │ │ └── merge_iterator.rs │ │ │ ├── storage_layer.rs │ │ │ ├── tasks.rs │ │ │ ├── throttle.rs │ │ │ ├── timeline/ │ │ │ │ ├── analysis.rs │ │ │ │ ├── compaction.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── detach_ancestor.rs │ │ │ │ ├── eviction_task.rs │ │ │ │ ├── handle.rs │ │ │ │ ├── heatmap_layers_downloader.rs │ │ │ │ ├── import_pgdata/ │ │ │ │ │ ├── flow.rs │ │ │ │ │ ├── importbucket_client.rs │ │ │ │ │ ├── importbucket_format.rs │ │ │ │ │ └── index_part_format.rs │ │ │ │ ├── import_pgdata.rs │ │ │ │ ├── init.rs │ │ │ │ ├── layer_manager.rs │ │ │ │ ├── logical_size.rs │ │ │ │ ├── offload.rs │ │ │ │ ├── span.rs │ │ │ │ ├── uninit.rs │ │ │ │ ├── walreceiver/ │ │ │ │ │ ├── connection_manager.rs │ │ │ │ │ └── walreceiver_connection.rs │ │ │ │ └── walreceiver.rs │ │ │ ├── timeline.rs │ │ │ ├── upload_queue.rs │ │ │ └── vectored_blob_io.rs │ │ ├── tenant.rs │ │ ├── utilization.rs │ │ ├── virtual_file/ │ │ │ ├── io_engine/ │ │ │ │ └── tokio_epoll_uring_ext.rs │ │ │ ├── io_engine.rs │ │ │ ├── metadata.rs │ │ │ ├── open_options.rs │ │ │ ├── owned_buffers_io/ │ │ │ │ ├── aligned_buffer/ │ │ │ │ │ ├── alignment.rs │ │ │ │ │ ├── buffer.rs │ │ │ │ │ ├── buffer_mut.rs │ │ │ │ │ ├── raw.rs │ │ │ │ │ └── slice.rs │ │ │ │ ├── aligned_buffer.rs │ │ │ │ ├── io_buf_aligned.rs │ │ │ │ ├── io_buf_ext.rs │ │ │ │ ├── slice.rs │ │ │ │ ├── write/ │ │ │ │ │ └── flush.rs │ │ │ │ └── write.rs │ │ │ └── temporary.rs │ │ ├── virtual_file.rs │ │ ├── walingest.rs │ │ ├── walredo/ │ │ │ ├── apply_neon.rs │ │ │ ├── process/ │ │ │ │ ├── no_leak_child.rs │ │ │ │ └── protocol.rs │ │ │ └── process.rs │ │ └── walredo.rs │ └── test_data/ │ ├── indices/ │ │ └── mixed_workload/ │ │ ├── README.md │ │ └── index_part.json │ ├── short_v14_redo.page │ └── sk_wal_segment_from_pgbench/ │ ├── 000000010000000000000001.zst │ └── initdb.tar.zst ├── pgxn/ │ ├── .dir-locals.el │ ├── .editorconfig │ ├── Makefile │ ├── neon/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── bitmap.h │ │ ├── communicator/ │ │ │ ├── .gitignore │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── cbindgen.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── worker_process/ │ │ │ ├── callbacks.rs │ │ │ ├── control_socket.rs │ │ │ ├── lfc_metrics.rs │ │ │ ├── logging.rs │ │ │ ├── main_loop.rs │ │ │ ├── mod.rs │ │ │ └── worker_interface.rs │ │ ├── communicator.c │ │ ├── communicator.h │ │ ├── communicator_process.c │ │ ├── communicator_process.h │ │ ├── extension_server.c │ │ ├── extension_server.h │ │ ├── file_cache.c │ │ ├── file_cache.h │ │ ├── hll.c │ │ ├── hll.h │ │ ├── libpagestore.c │ │ ├── libpqwalproposer.h │ │ ├── logical_replication_monitor.c │ │ ├── logical_replication_monitor.h │ │ ├── neon--1.0--1.1.sql │ │ ├── neon--1.0.sql │ │ ├── neon--1.1--1.0.sql │ │ ├── neon--1.1--1.2.sql │ │ ├── neon--1.2--1.1.sql │ │ ├── neon--1.2--1.3.sql │ │ ├── neon--1.3--1.2.sql │ │ ├── neon--1.3--1.4.sql │ │ ├── neon--1.4--1.3.sql │ │ ├── neon--1.4--1.5.sql │ │ ├── neon--1.5--1.4.sql │ │ ├── neon--1.5--1.6.sql │ │ ├── neon--1.6--1.5.sql │ │ ├── neon.c │ │ ├── neon.control │ │ ├── neon.h │ │ ├── neon_ddl_handler.c │ │ ├── neon_ddl_handler.h │ │ ├── neon_lwlsncache.c │ │ ├── neon_lwlsncache.h │ │ ├── neon_perf_counters.c │ │ ├── neon_perf_counters.h │ │ ├── neon_pgversioncompat.c │ │ ├── neon_pgversioncompat.h │ │ ├── neon_utils.c │ │ ├── neon_utils.h │ │ ├── neon_walreader.c │ │ ├── neon_walreader.h │ │ ├── pagestore_client.h │ │ ├── pagestore_smgr.c │ │ ├── relsize_cache.c │ │ ├── unstable_extensions.c │ │ ├── unstable_extensions.h │ │ ├── walproposer.c │ │ ├── walproposer.h │ │ ├── walproposer_compat.c │ │ ├── walproposer_pg.c │ │ ├── walsender_hooks.c │ │ └── walsender_hooks.h │ ├── neon_rmgr/ │ │ ├── Makefile │ │ ├── neon_rmgr.c │ │ ├── neon_rmgr.control │ │ ├── neon_rmgr.h │ │ ├── neon_rmgr_decode.c │ │ └── neon_rmgr_desc.c │ ├── neon_test_utils/ │ │ ├── Makefile │ │ ├── neon_test_utils--1.3.sql │ │ ├── neon_test_utils.control │ │ └── neontest.c │ ├── neon_utils/ │ │ ├── Makefile │ │ ├── neon_utils--1.0.sql │ │ ├── neon_utils.c │ │ └── neon_utils.control │ └── neon_walredo/ │ ├── Makefile │ ├── inmem_smgr.c │ ├── inmem_smgr.h │ ├── neon_seccomp.h │ ├── seccomp.c │ └── walredoproc.c ├── postgres.mk ├── pre-commit.py ├── proxy/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── auth/ │ │ ├── backend/ │ │ │ ├── classic.rs │ │ │ ├── console_redirect.rs │ │ │ ├── hacks.rs │ │ │ ├── jwt.rs │ │ │ ├── local.rs │ │ │ └── mod.rs │ │ ├── credentials.rs │ │ ├── flow.rs │ │ ├── mod.rs │ │ └── password_hack.rs │ ├── batch.rs │ ├── bin/ │ │ ├── local_proxy.rs │ │ ├── pg_sni_router.rs │ │ └── proxy.rs │ ├── binary/ │ │ ├── local_proxy.rs │ │ ├── mod.rs │ │ ├── pg_sni_router.rs │ │ └── proxy.rs │ ├── cache/ │ │ ├── common.rs │ │ ├── mod.rs │ │ ├── node_info.rs │ │ └── project_info.rs │ ├── cancellation.rs │ ├── compute/ │ │ ├── mod.rs │ │ └── tls.rs │ ├── compute_ctl/ │ │ └── mod.rs │ ├── config.rs │ ├── console_redirect_proxy.rs │ ├── context/ │ │ ├── mod.rs │ │ └── parquet.rs │ ├── control_plane/ │ │ ├── client/ │ │ │ ├── cplane_proxy_v1.rs │ │ │ ├── mock.rs │ │ │ └── mod.rs │ │ ├── errors.rs │ │ ├── messages.rs │ │ ├── mgmt.rs │ │ └── mod.rs │ ├── error.rs │ ├── ext.rs │ ├── http/ │ │ ├── health_server.rs │ │ └── mod.rs │ ├── intern.rs │ ├── jemalloc.rs │ ├── lib.rs │ ├── logging.rs │ ├── metrics.rs │ ├── parse.rs │ ├── pglb/ │ │ ├── copy_bidirectional.rs │ │ ├── handshake.rs │ │ ├── inprocess.rs │ │ ├── mod.rs │ │ └── passthrough.rs │ ├── pqproto.rs │ ├── protocol2.rs │ ├── proxy/ │ │ ├── connect_auth.rs │ │ ├── connect_compute.rs │ │ ├── mod.rs │ │ ├── retry.rs │ │ ├── tests/ │ │ │ ├── mitm.rs │ │ │ └── mod.rs │ │ └── wake_compute.rs │ ├── rate_limiter/ │ │ ├── leaky_bucket.rs │ │ ├── limit_algorithm/ │ │ │ └── aimd.rs │ │ ├── limit_algorithm.rs │ │ ├── limiter.rs │ │ └── mod.rs │ ├── redis/ │ │ ├── connection_with_credentials_provider.rs │ │ ├── elasticache.rs │ │ ├── keys.rs │ │ ├── kv_ops.rs │ │ ├── mod.rs │ │ └── notifications.rs │ ├── sasl/ │ │ ├── channel_binding.rs │ │ ├── messages.rs │ │ ├── mod.rs │ │ └── stream.rs │ ├── scram/ │ │ ├── cache.rs │ │ ├── countmin.rs │ │ ├── exchange.rs │ │ ├── key.rs │ │ ├── messages.rs │ │ ├── mod.rs │ │ ├── pbkdf2.rs │ │ ├── secret.rs │ │ ├── signature.rs │ │ └── threadpool.rs │ ├── serverless/ │ │ ├── backend.rs │ │ ├── cancel_set.rs │ │ ├── conn_pool.rs │ │ ├── conn_pool_lib.rs │ │ ├── error.rs │ │ ├── http_conn_pool.rs │ │ ├── http_util.rs │ │ ├── json.rs │ │ ├── local_conn_pool.rs │ │ ├── mod.rs │ │ ├── rest.rs │ │ ├── sql_over_http.rs │ │ └── websocket.rs │ ├── signals.rs │ ├── stream.rs │ ├── tls/ │ │ ├── client_config.rs │ │ ├── mod.rs │ │ ├── postgres_rustls.rs │ │ └── server_config.rs │ ├── types.rs │ ├── url.rs │ ├── usage_metrics.rs │ ├── util.rs │ └── waiters.rs ├── pyproject.toml ├── pytest.ini ├── run_clippy.sh ├── rust-toolchain.toml ├── safekeeper/ │ ├── Cargo.toml │ ├── benches/ │ │ ├── README.md │ │ └── receive_wal.rs │ ├── client/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── mgmt_api.rs │ ├── spec/ │ │ ├── .gitignore │ │ ├── MCProposerAcceptorReconfig.tla │ │ ├── MCProposerAcceptorStatic.tla │ │ ├── ProposerAcceptorReconfig.tla │ │ ├── ProposerAcceptorStatic.tla │ │ ├── modelcheck.sh │ │ ├── models/ │ │ │ ├── MCProposerAcceptorReconfig_p2_a2_t2_l2_c3.cfg │ │ │ ├── MCProposerAcceptorReconfig_p2_a2_t2_l2_c5.cfg │ │ │ ├── MCProposerAcceptorReconfig_p2_a3_t2_l2_c3.cfg │ │ │ ├── MCProposerAcceptorReconfig_p2_a4_t2_l2_c3.cfg │ │ │ ├── MCProposerAcceptorStatic_p2_a3_t2_l2.cfg │ │ │ ├── MCProposerAcceptorStatic_p2_a3_t3_l2.cfg │ │ │ ├── MCProposerAcceptorStatic_p2_a3_t3_l3.cfg │ │ │ ├── MCProposerAcceptorStatic_p2_a3_t4_l4.cfg │ │ │ ├── MCProposerAcceptorStatic_p2_a5_t2_l2.cfg │ │ │ ├── MCProposerAcceptorStatic_p2_a5_t3_l3.cfg │ │ │ └── MCProposerAcceptorStatic_p2_a5_t4_l3.cfg │ │ ├── readme.md │ │ ├── remove_interm_progress.awk │ │ ├── remove_interm_progress.sh │ │ └── tlc-results/ │ │ ├── MCProposerAcceptorReconfig.tla-MCProposerAcceptorReconfig_p2_a2_t2_l2_c3.cfg-2024-12-11--04-24-12.log │ │ ├── MCProposerAcceptorReconfig.tla-MCProposerAcceptorReconfig_p2_a2_t2_l2_c5.cfg-2024-12-11--04-26-11.log │ │ ├── MCProposerAcceptorStatic.tla-MCProposerAcceptorStatic_p2_a3_t2_l2.cfg-2024-11-06--13-44-17.log │ │ ├── MCProposerAcceptorStatic.tla-MCProposerAcceptorStatic_p2_a3_t3_l2.cfg-2024-11-15--09-09-58.log │ │ ├── MCProposerAcceptorStatic.tla-MCProposerAcceptorStatic_p2_a3_t3_l3.cfg-2024-11-06--13-03-51.log │ │ ├── MCProposerAcceptorStatic.tla-MCProposerAcceptorStatic_p2_a3_t4_l4.cfg-2024-11-06--14-20-25.log │ │ ├── MCProposerAcceptorStatic.tla-MCProposerAcceptorStatic_p2_a3_t4_l4.cfg-2024-11-06--15-30-45.log │ │ └── MCProposerAcceptorStatic.tla-MCProposerAcceptorStatic_p2_a5_t2_l2.cfg-2024-11-06--12-09-32.log │ ├── src/ │ │ ├── auth.rs │ │ ├── bin/ │ │ │ └── safekeeper.rs │ │ ├── broker.rs │ │ ├── control_file.rs │ │ ├── control_file_upgrade.rs │ │ ├── copy_timeline.rs │ │ ├── debug_dump.rs │ │ ├── hadron.rs │ │ ├── handler.rs │ │ ├── http/ │ │ │ ├── mod.rs │ │ │ ├── openapi_spec.yaml │ │ │ └── routes.rs │ │ ├── lib.rs │ │ ├── metrics.rs │ │ ├── patch_control_file.rs │ │ ├── pull_timeline.rs │ │ ├── rate_limit.rs │ │ ├── receive_wal.rs │ │ ├── recovery.rs │ │ ├── remove_wal.rs │ │ ├── safekeeper.rs │ │ ├── send_interpreted_wal.rs │ │ ├── send_wal.rs │ │ ├── state.rs │ │ ├── test_utils.rs │ │ ├── timeline.rs │ │ ├── timeline_eviction.rs │ │ ├── timeline_guard.rs │ │ ├── timeline_manager.rs │ │ ├── timelines_global_map.rs │ │ ├── timelines_set.rs │ │ ├── wal_backup.rs │ │ ├── wal_backup_partial.rs │ │ ├── wal_reader_stream.rs │ │ ├── wal_service.rs │ │ └── wal_storage.rs │ └── tests/ │ ├── misc_test.rs │ ├── random_test.rs │ ├── simple_test.rs │ └── walproposer_sim/ │ ├── block_storage.rs │ ├── log.rs │ ├── mod.rs │ ├── safekeeper.rs │ ├── safekeeper_disk.rs │ ├── simulation.rs │ ├── simulation_logs.rs │ ├── walproposer_api.rs │ └── walproposer_disk.rs ├── scripts/ │ ├── benchmark_durations.py │ ├── check_allowed_errors.sh │ ├── comment-test-report.js │ ├── coverage │ ├── download_basebackup.py │ ├── force_layer_download.py │ ├── generate_and_push_perf_report.sh │ ├── ingest_perf_test_result.py │ ├── ingest_regress_test_result-new-format.py │ ├── ninstall.sh │ ├── perf_report_template.html │ ├── proxy_bench_results_ingest.py │ ├── ps_ec2_setup_instance_store │ ├── pysync │ ├── pytest │ ├── reformat │ ├── sk_cleanup_tenants/ │ │ ├── readme.md │ │ ├── remote.yaml │ │ └── script.py │ └── sk_collect_dumps/ │ ├── .gitignore │ ├── ansible.cfg │ ├── pyproject.toml │ ├── readme.md │ ├── remote.yaml │ ├── ssh.cfg │ └── upload.sh ├── storage_broker/ │ ├── Cargo.toml │ ├── benches/ │ │ └── rps.rs │ ├── build.rs │ ├── proto/ │ │ ├── .gitignore │ │ └── broker.proto │ └── src/ │ ├── bin/ │ │ └── storage_broker.rs │ ├── lib.rs │ └── metrics.rs ├── storage_controller/ │ ├── Cargo.toml │ ├── client/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── control_api.rs │ │ └── lib.rs │ ├── migrations/ │ │ ├── .keep │ │ ├── 00000000000000_diesel_initial_setup/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-01-07-211257_create_tenant_shards/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-01-07-212945_create_nodes/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-02-29-094122_generations_null/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-03-18-184429_rename_policy/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-03-27-133204_tenant_policies/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-07-23-191537_create_metadata_health/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-07-26-140924_create_leader/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-08-23-102952_safekeepers/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-08-23-170149_tenant_id_index/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-08-27-184400_pageserver_az/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-08-28-150530_pageserver_az_not_null/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-09-05-104500_tenant_shard_preferred_az/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2024-12-12-212515_safekeepers_scheduling_policy/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-01-09-160454_safekeepers_remove_active/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-01-15-181207_safekeepers_disabled_to_pause/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-02-11-144848_pageserver_use_https/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-02-14-160526_safekeeper_timelines/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-02-28-141741_safekeeper_use_https/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-03-18-103700_timeline_imports/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-06-01-201442_add_lifecycle_to_nodes/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-06-17-082247_pageserver_grpc_addr/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-07-02-170751_safekeeper_default_no_pause/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ ├── 2025-07-08-114340_sk_set_notified_generation/ │ │ │ ├── down.sql │ │ │ └── up.sql │ │ └── 2025-07-17-000001_hadron_safekeepers/ │ │ ├── down.sql │ │ └── up.sql │ └── src/ │ ├── auth.rs │ ├── background_node_operations.rs │ ├── compute_hook.rs │ ├── hadron_utils.rs │ ├── heartbeater.rs │ ├── http.rs │ ├── id_lock_map.rs │ ├── leadership.rs │ ├── lib.rs │ ├── main.rs │ ├── metrics.rs │ ├── node.rs │ ├── operation_utils.rs │ ├── pageserver_client.rs │ ├── peer_client.rs │ ├── persistence/ │ │ └── split_state.rs │ ├── persistence.rs │ ├── reconciler.rs │ ├── safekeeper.rs │ ├── safekeeper_client.rs │ ├── scheduler.rs │ ├── schema.rs │ ├── service/ │ │ ├── chaos_injector.rs │ │ ├── feature_flag.rs │ │ ├── safekeeper_reconciler.rs │ │ ├── safekeeper_service.rs │ │ └── tenant_shard_iterator.rs │ ├── service.rs │ ├── tenant_shard.rs │ └── timeline_import.rs ├── storage_scrubber/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── checks.rs │ ├── cloud_admin_api.rs │ ├── find_large_objects.rs │ ├── garbage.rs │ ├── lib.rs │ ├── main.rs │ ├── metadata_stream.rs │ ├── pageserver_physical_gc.rs │ ├── scan_pageserver_metadata.rs │ ├── scan_safekeeper_metadata.rs │ └── tenant_snapshot.rs ├── test_runner/ │ ├── README.md │ ├── bin/ │ │ └── neon_local_create_deep_l0_stack.py │ ├── cloud_regress/ │ │ ├── README.md │ │ └── test_cloud_regress.py │ ├── conftest.py │ ├── fixtures/ │ │ ├── __init__.py │ │ ├── auth_tokens.py │ │ ├── benchmark_fixture.py │ │ ├── common_types.py │ │ ├── compare_fixtures.py │ │ ├── compute_migrations.py │ │ ├── compute_reconfigure.py │ │ ├── endpoint/ │ │ │ ├── __init__.py │ │ │ └── http.py │ │ ├── fast_import.py │ │ ├── h2server.py │ │ ├── httpserver.py │ │ ├── log_helper.py │ │ ├── metrics.py │ │ ├── neon_api.py │ │ ├── neon_cli.py │ │ ├── neon_fixtures.py │ │ ├── overlayfs.py │ │ ├── pageserver/ │ │ │ ├── __init__.py │ │ │ ├── allowed_errors.py │ │ │ ├── common_types.py │ │ │ ├── http.py │ │ │ ├── makelayers/ │ │ │ │ ├── __init__.py │ │ │ │ └── l0stack.py │ │ │ ├── many_tenants.py │ │ │ ├── remote_storage.py │ │ │ └── utils.py │ │ ├── parametrize.py │ │ ├── paths.py │ │ ├── pg_config.py │ │ ├── pg_stats.py │ │ ├── pg_version.py │ │ ├── port_distributor.py │ │ ├── remote_storage.py │ │ ├── reruns.py │ │ ├── safekeeper/ │ │ │ ├── __init__.py │ │ │ ├── http.py │ │ │ └── utils.py │ │ ├── safekeeper_utils.py │ │ ├── slow.py │ │ ├── storage_controller_proxy.py │ │ ├── utils.py │ │ └── workload.py │ ├── logical_repl/ │ │ ├── README.md │ │ ├── clickhouse/ │ │ │ └── docker-compose.yml │ │ ├── debezium/ │ │ │ └── docker-compose.yml │ │ ├── test_clickhouse.py │ │ └── test_debezium.py │ ├── performance/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── benchbase_tpc_c_helpers/ │ │ │ ├── generate_diagrams.py │ │ │ ├── generate_workload_size.py │ │ │ └── upload_results_to_perf_test_results.py │ │ ├── large_synthetic_oltp/ │ │ │ ├── IUD_one_transaction.sql │ │ │ ├── grow_action_blocks.sql │ │ │ ├── grow_action_kwargs.sql │ │ │ ├── grow_device_fingerprint_event.sql │ │ │ ├── grow_edges.sql │ │ │ ├── grow_hotel_rate_mapping.sql │ │ │ ├── grow_ocr_pipeline_results_version.sql │ │ │ ├── grow_priceline_raw_response.sql │ │ │ ├── grow_relabled_transactions.sql │ │ │ ├── grow_state_values.sql │ │ │ ├── grow_values.sql │ │ │ ├── grow_vertices.sql │ │ │ ├── insert_webhooks.sql │ │ │ ├── select_any_webhook_with_skew.sql │ │ │ ├── select_prefetch_webhook.sql │ │ │ ├── select_recent_webhook.sql │ │ │ ├── update_accounting_coding_body_tracking_category_selection.sql │ │ │ ├── update_action_blocks.sql │ │ │ ├── update_action_kwargs.sql │ │ │ ├── update_denormalized_approval_workflow.sql │ │ │ ├── update_device_fingerprint_event.sql │ │ │ ├── update_edges.sql │ │ │ ├── update_heron_transaction_enriched_log.sql │ │ │ ├── update_heron_transaction_enrichment_requests.sql │ │ │ ├── update_hotel_rate_mapping.sql │ │ │ ├── update_incoming_webhooks.sql │ │ │ ├── update_manual_transaction.sql │ │ │ ├── update_ml_receipt_matching_log.sql │ │ │ ├── update_ocr_pipeine_results_version.sql │ │ │ ├── update_orc_pipeline_step_results.sql │ │ │ ├── update_orc_pipeline_step_results_version.sql │ │ │ ├── update_priceline_raw_response.sql │ │ │ ├── update_quickbooks_transactions.sql │ │ │ ├── update_raw_finicity_transaction.sql │ │ │ ├── update_relabeled_transactions.sql │ │ │ ├── update_state_values.sql │ │ │ ├── update_stripe_authorization_event_log.sql │ │ │ ├── update_transaction.sql │ │ │ ├── update_values.sql │ │ │ └── update_vertices.sql │ │ ├── many_relations/ │ │ │ └── create_many_relations.sql │ │ ├── out_dir_to_csv.py │ │ ├── pageserver/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── interactive/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_many_small_tenants.py │ │ │ ├── pagebench/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_large_slru_basebackup.py │ │ │ │ ├── test_ondemand_download_churn.py │ │ │ │ └── test_pageserver_max_throughput_getpage_at_latest_lsn.py │ │ │ ├── test_page_service_batching.py │ │ │ └── util.py │ │ ├── pgvector/ │ │ │ ├── HNSW_build.sql │ │ │ ├── IVFFLAT_build.sql │ │ │ ├── README.md │ │ │ ├── halfvec_build.sql │ │ │ ├── loaddata.py │ │ │ ├── pgbench_custom_script_pgvector_halfvec_queries.sql │ │ │ └── pgbench_custom_script_pgvector_hsnw_queries.sql │ │ ├── test_branch_creation.py │ │ ├── test_branching.py │ │ ├── test_bulk_insert.py │ │ ├── test_bulk_tenant_create.py │ │ ├── test_bulk_update.py │ │ ├── test_compaction.py │ │ ├── test_compare_pg_stats.py │ │ ├── test_compute_ctl_api.py │ │ ├── test_compute_startup.py │ │ ├── test_copy.py │ │ ├── test_cumulative_statistics_persistence.py │ │ ├── test_dup_key.py │ │ ├── test_gc_feedback.py │ │ ├── test_gist_build.py │ │ ├── test_hot_page.py │ │ ├── test_hot_table.py │ │ ├── test_ingest_insert_bulk.py │ │ ├── test_ingest_logical_message.py │ │ ├── test_latency.py │ │ ├── test_layer_map.py │ │ ├── test_lfc_prewarm.py │ │ ├── test_logical_replication.py │ │ ├── test_parallel_copy.py │ │ ├── test_parallel_copy_to.py │ │ ├── test_perf_ingest_using_pgcopydb.py │ │ ├── test_perf_many_relations.py │ │ ├── test_perf_olap.py │ │ ├── test_perf_oltp_large_tenant.py │ │ ├── test_perf_pgbench.py │ │ ├── test_perf_pgvector_queries.py │ │ ├── test_physical_replication.py │ │ ├── test_random_writes.py │ │ ├── test_seqscans.py │ │ ├── test_sharded_ingest.py │ │ ├── test_sharding_autosplit.py │ │ ├── test_storage_controller_scale.py │ │ ├── test_wal_backpressure.py │ │ ├── test_write_amplification.py │ │ └── tpc-h/ │ │ ├── create-indexes.sql │ │ ├── create-schema.sql │ │ └── queries/ │ │ ├── 1.sql │ │ ├── 10.sql │ │ ├── 11.sql │ │ ├── 12.sql │ │ ├── 13.sql │ │ ├── 14.sql │ │ ├── 15.sql │ │ ├── 16.sql │ │ ├── 17.sql │ │ ├── 18.sql │ │ ├── 19.sql │ │ ├── 2.sql │ │ ├── 20.sql │ │ ├── 21.sql │ │ ├── 22.sql │ │ ├── 3.sql │ │ ├── 4.sql │ │ ├── 5.sql │ │ ├── 6.sql │ │ ├── 7.sql │ │ ├── 8.sql │ │ └── 9.sql │ ├── pg_clients/ │ │ ├── README.md │ │ ├── csharp/ │ │ │ └── npgsql/ │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── Program.cs │ │ │ └── csharp-npgsql.csproj │ │ ├── java/ │ │ │ └── jdbc/ │ │ │ ├── Dockerfile │ │ │ └── Example.java │ │ ├── python/ │ │ │ ├── asyncpg/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── asyncpg_example.py │ │ │ │ └── requirements.txt │ │ │ └── pg8000/ │ │ │ ├── Dockerfile │ │ │ ├── pg8000_example.py │ │ │ └── requirements.txt │ │ ├── rust/ │ │ │ └── tokio-postgres/ │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── Cargo.toml │ │ │ ├── Dockerfile │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── swift/ │ │ │ ├── PostgresClientKitExample/ │ │ │ │ ├── .dockerignore │ │ │ │ ├── .gitignore │ │ │ │ ├── Dockerfile │ │ │ │ ├── Package.resolved │ │ │ │ ├── Package.swift │ │ │ │ └── Sources/ │ │ │ │ └── PostgresClientKitExample/ │ │ │ │ └── main.swift │ │ │ └── PostgresNIOExample/ │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── Package.resolved │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ └── PostgresNIOExample/ │ │ │ └── main.swift │ │ ├── test_pg_clients.py │ │ └── typescript/ │ │ ├── postgresql-client/ │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── Dockerfile │ │ │ ├── index.js │ │ │ └── package.json │ │ └── serverless-driver/ │ │ ├── .dockerignore │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── index.js │ │ └── package.json │ ├── random_ops/ │ │ ├── README.md │ │ └── test_random_ops.py │ ├── regress/ │ │ ├── data/ │ │ │ ├── test_event_trigger_extension/ │ │ │ │ ├── test_event_trigger_extension--1.0.sql │ │ │ │ └── test_event_trigger_extension.control │ │ │ ├── test_remote_extensions/ │ │ │ │ ├── test_extension_sql_only/ │ │ │ │ │ ├── sql/ │ │ │ │ │ │ ├── test_extension_sql_only--1.0--1.1.sql │ │ │ │ │ │ └── test_extension_sql_only--1.0.sql │ │ │ │ │ └── test_extension_sql_only.control │ │ │ │ └── test_extension_with_lib/ │ │ │ │ ├── sql/ │ │ │ │ │ ├── test_extension_with_lib--1.0--1.1.sql │ │ │ │ │ └── test_extension_with_lib--1.0.sql │ │ │ │ ├── src/ │ │ │ │ │ └── test_extension_with_lib.c │ │ │ │ └── test_extension_with_lib.control │ │ │ └── test_signed_char.out │ │ ├── test_ancestor_branch.py │ │ ├── test_attach_tenant_config.py │ │ ├── test_auth.py │ │ ├── test_auth_broker.py │ │ ├── test_backpressure.py │ │ ├── test_bad_connection.py │ │ ├── test_basebackup.py │ │ ├── test_basebackup_error.py │ │ ├── test_branch_and_gc.py │ │ ├── test_branch_behind.py │ │ ├── test_branching.py │ │ ├── test_broken_timeline.py │ │ ├── test_build_info_metric.py │ │ ├── test_change_pageserver.py │ │ ├── test_clog_truncate.py │ │ ├── test_close_fds.py │ │ ├── test_combocid.py │ │ ├── test_communicator_metrics_exporter.py │ │ ├── test_compaction.py │ │ ├── test_compatibility.py │ │ ├── test_compute_catalog.py │ │ ├── test_compute_http.py │ │ ├── test_compute_locales.py │ │ ├── test_compute_metrics.py │ │ ├── test_compute_migrations.py │ │ ├── test_compute_monitor.py │ │ ├── test_compute_reconfigure.py │ │ ├── test_compute_termination.py │ │ ├── test_config.py │ │ ├── test_crafted_wal_end.py │ │ ├── test_createdropdb.py │ │ ├── test_createuser.py │ │ ├── test_ddl_forwarding.py │ │ ├── test_disk_usage_eviction.py │ │ ├── test_download_extensions.py │ │ ├── test_endpoint_crash.py │ │ ├── test_endpoint_storage.py │ │ ├── test_event_trigger_extension.py │ │ ├── test_explain_with_lfc_stats.py │ │ ├── test_extensions.py │ │ ├── test_feature_flag.py │ │ ├── test_fsm_truncate.py │ │ ├── test_fullbackup.py │ │ ├── test_gc_aggressive.py │ │ ├── test_gin_redo.py │ │ ├── test_gist.py │ │ ├── test_hadron_ps_connectivity_metrics.py │ │ ├── test_hcc_handling_ps_data_loss.py │ │ ├── test_hot_standby.py │ │ ├── test_import.py │ │ ├── test_import_pgdata.py │ │ ├── test_ingestion_layer_size.py │ │ ├── test_large_schema.py │ │ ├── test_layer_bloating.py │ │ ├── test_layer_eviction.py │ │ ├── test_layer_writers_fail.py │ │ ├── test_layers_from_future.py │ │ ├── test_lfc_prefetch.py │ │ ├── test_lfc_prewarm.py │ │ ├── test_lfc_resize.py │ │ ├── test_lfc_working_set_approximation.py │ │ ├── test_local_file_cache.py │ │ ├── test_logging.py │ │ ├── test_logical_replication.py │ │ ├── test_lsn_mapping.py │ │ ├── test_multixact.py │ │ ├── test_nbtree_pagesplit_cycleid.py │ │ ├── test_neon_cli.py │ │ ├── test_neon_extension.py │ │ ├── test_neon_local_cli.py │ │ ├── test_neon_superuser.py │ │ ├── test_next_xid.py │ │ ├── test_normal_work.py │ │ ├── test_oid_overflow.py │ │ ├── test_old_request_lsn.py │ │ ├── test_ondemand_download.py │ │ ├── test_ondemand_slru_download.py │ │ ├── test_ondemand_wal_download.py │ │ ├── test_page_service_batching_regressions.py │ │ ├── test_pageserver_api.py │ │ ├── test_pageserver_catchup.py │ │ ├── test_pageserver_config.py │ │ ├── test_pageserver_crash_consistency.py │ │ ├── test_pageserver_generations.py │ │ ├── test_pageserver_getpage_throttle.py │ │ ├── test_pageserver_layer_rolling.py │ │ ├── test_pageserver_metric_collection.py │ │ ├── test_pageserver_reconnect.py │ │ ├── test_pageserver_restart.py │ │ ├── test_pageserver_restarts_under_workload.py │ │ ├── test_pageserver_secondary.py │ │ ├── test_pg_query_cancellation.py │ │ ├── test_pg_regress.py │ │ ├── test_pg_waldump.py │ │ ├── test_pgstat.py │ │ ├── test_physical_and_logical_replicaiton.py │ │ ├── test_physical_replication.py │ │ ├── test_pitr_gc.py │ │ ├── test_postgres_version.py │ │ ├── test_prefetch_buffer_resize.py │ │ ├── test_proxy.py │ │ ├── test_proxy_allowed_ips.py │ │ ├── test_proxy_metric_collection.py │ │ ├── test_proxy_websockets.py │ │ ├── test_read_validation.py │ │ ├── test_readonly_node.py │ │ ├── test_recovery.py │ │ ├── test_relations.py │ │ ├── test_remote_storage.py │ │ ├── test_replica_promotes.py │ │ ├── test_replica_start.py │ │ ├── test_rest_broker.py │ │ ├── test_role_grants.py │ │ ├── test_s3_restore.py │ │ ├── test_safekeeper_deletion.py │ │ ├── test_safekeeper_migration.py │ │ ├── test_setup.py │ │ ├── test_sharding.py │ │ ├── test_signed_char.py │ │ ├── test_sni_router.py │ │ ├── test_ssl.py │ │ ├── test_storage_controller.py │ │ ├── test_storage_scrubber.py │ │ ├── test_subscriber_branching.py │ │ ├── test_subscriber_restart.py │ │ ├── test_subxacts.py │ │ ├── test_tenant_conf.py │ │ ├── test_tenant_delete.py │ │ ├── test_tenant_detach.py │ │ ├── test_tenant_relocation.py │ │ ├── test_tenant_size.py │ │ ├── test_tenant_tasks.py │ │ ├── test_tenants.py │ │ ├── test_tenants_with_remote_storage.py │ │ ├── test_threshold_based_eviction.py │ │ ├── test_timeline_archive.py │ │ ├── test_timeline_delete.py │ │ ├── test_timeline_detach_ancestor.py │ │ ├── test_timeline_gc_blocking.py │ │ ├── test_timeline_size.py │ │ ├── test_truncate.py │ │ ├── test_twophase.py │ │ ├── test_unlogged.py │ │ ├── test_unstable_extensions.py │ │ ├── test_vm_bits.py │ │ ├── test_vm_truncate.py │ │ ├── test_wal_acceptor.py │ │ ├── test_wal_acceptor_async.py │ │ ├── test_wal_receiver.py │ │ ├── test_wal_restore.py │ │ └── test_walredo_not_left_behind_on_detach.py │ ├── sql_regress/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── expected/ │ │ │ ├── .gitignore │ │ │ ├── neon-cid.out │ │ │ ├── neon-clog.out │ │ │ ├── neon-event-triggers.out │ │ │ ├── neon-rel-truncate.out │ │ │ ├── neon-spgist.out │ │ │ ├── neon-subxacts.out │ │ │ ├── neon-test-utils.out │ │ │ └── neon-vacuum-full.out │ │ ├── parallel_schedule │ │ └── sql/ │ │ ├── .gitignore │ │ ├── neon-cid.sql │ │ ├── neon-clog.sql │ │ ├── neon-event-triggers.sql │ │ ├── neon-rel-truncate.sql │ │ ├── neon-spgist.sql │ │ ├── neon-subxacts.sql │ │ ├── neon-test-utils.sql │ │ └── neon-vacuum-full.sql │ ├── stubs/ │ │ └── h2/ │ │ ├── README.md │ │ ├── __init__.pyi │ │ ├── config.pyi │ │ ├── connection.pyi │ │ ├── errors.pyi │ │ ├── events.pyi │ │ ├── exceptions.pyi │ │ ├── frame_buffer.pyi │ │ ├── settings.pyi │ │ ├── stream.pyi │ │ ├── utilities.pyi │ │ └── windows.pyi │ ├── test_broken.py │ └── websocket_tunnel.py ├── vendor/ │ └── revisions.json └── workspace_hack/ ├── .gitattributes ├── Cargo.toml ├── build.rs └── src/ └── lib.rs