---
title: "Updates project's Postgres config"
method: PUT
path: "/v1/projects/{ref}/config/database/postgres"
tags: ["Database"]
---

# Updates project's Postgres config

`PUT /v1/projects/{ref}/config/database/postgres`

## Path parameters

- `ref` string, required

## Request body

- UpdatePostgresConfigBody
  - `effective_cache_size` string
  - `logical_decoding_work_mem` string
  - `cron.log_statement` boolean
  - `log_autovacuum_min_duration` string — Default unit: ms
  - `log_checkpoints` boolean
  - `log_connections` boolean
  - `log_disconnections` boolean
  - `log_duration` boolean
  - `log_lock_waits` boolean
  - `log_recovery_conflict_waits` boolean
  - `log_replication_commands` boolean
  - `log_startup_progress_interval` string — Default unit: ms
  - `log_temp_files` string
  - `maintenance_work_mem` string
  - `track_activity_query_size` string
  - `max_connections` integer
  - `max_locks_per_transaction` integer
  - `max_logical_replication_workers` integer
  - `max_parallel_maintenance_workers` integer
  - `max_parallel_workers` integer
  - `max_parallel_workers_per_gather` integer
  - `max_replication_slots` integer
  - `max_slot_wal_keep_size` string
  - `max_standby_archive_delay` string
  - `max_standby_streaming_delay` string
  - `max_sync_workers_per_subscription` integer
  - `max_wal_size` string
  - `max_wal_senders` integer
  - `max_worker_processes` integer
  - `session_replication_role` 'origin' | 'replica' | 'local'
  - `shared_buffers` string
  - `statement_timeout` string — Default unit: ms
  - `track_commit_timestamp` boolean
  - `wal_keep_size` string
  - `wal_sender_timeout` string — Default unit: ms
  - `work_mem` string
  - `checkpoint_timeout` string — Default unit: s
  - `hot_standby_feedback` boolean
  - `restart_database` boolean

## Response `200`

- PostgresConfigResponse
  - `effective_cache_size` string
  - `logical_decoding_work_mem` string
  - `cron.log_statement` boolean
  - `log_autovacuum_min_duration` string — Default unit: ms
  - `log_checkpoints` boolean
  - `log_connections` boolean
  - `log_disconnections` boolean
  - `log_duration` boolean
  - `log_lock_waits` boolean
  - `log_recovery_conflict_waits` boolean
  - `log_replication_commands` boolean
  - `log_startup_progress_interval` string — Default unit: ms
  - `log_temp_files` string
  - `maintenance_work_mem` string
  - `track_activity_query_size` string
  - `max_connections` integer
  - `max_locks_per_transaction` integer
  - `max_logical_replication_workers` integer
  - `max_parallel_maintenance_workers` integer
  - `max_parallel_workers` integer
  - `max_parallel_workers_per_gather` integer
  - `max_replication_slots` integer
  - `max_slot_wal_keep_size` string
  - `max_standby_archive_delay` string
  - `max_standby_streaming_delay` string
  - `max_sync_workers_per_subscription` integer
  - `max_wal_size` string
  - `max_wal_senders` integer
  - `max_worker_processes` integer
  - `session_replication_role` 'origin' | 'replica' | 'local'
  - `shared_buffers` string
  - `statement_timeout` string — Default unit: ms
  - `track_commit_timestamp` boolean
  - `wal_keep_size` string
  - `wal_sender_timeout` string — Default unit: ms
  - `work_mem` string
  - `checkpoint_timeout` string — Default unit: s
  - `hot_standby_feedback` boolean

## Other responses

- `401` — Unauthorized
- `403` — Forbidden action
- `429` — Rate limit exceeded
- `500` — Failed to update project's Postgres config

---

[API](https://skmtc.dev/supabase/apis/management-api.md) · [All operations](https://skmtc.dev/supabase/apis/management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/supabase/management-api/revisions/a7cb39418064/schema)
