This is a list of Supabase optimizations for Postgres DB used on different types of our instances during the performance testing of pgvector workloads (2023-07). It may not be always up-to-date in the future.
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "768MB"
effective_io_concurrency = 200
maintenance_work_mem = "64MB"
max_connections = 60
max_parallel_maintenance_workers = 1
max_parallel_workers = 2
max_parallel_workers_per_gather = 1
max_wal_size = "4GB"
max_worker_processes = 4
min_wal_size = "1GB"
random_page_cost = 1.1
shared_buffers = "256MB"
wal_buffers = "7864kB"
work_mem = "3500kB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "1536MB"
effective_io_concurrency = 200
maintenance_work_mem = "128MB"
max_connections = 90
max_parallel_maintenance_workers = 1
max_parallel_workers = 2
max_parallel_workers_per_gather = 1
max_wal_size = "4GB"
max_worker_processes = 4
min_wal_size = "1GB"
random_page_cost = 1.1
shared_buffers = "512MB"
wal_buffers = "16MB"
work_mem = "5MB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "3GB"
effective_io_concurrency = 200
maintenance_work_mem = "256MB"
max_connections = 120
max_parallel_maintenance_workers = 1
max_parallel_workers = 2
max_parallel_workers_per_gather = 1
max_wal_size = "4GB"
max_worker_processes = 4
min_wal_size = "1GB"
random_page_cost = 1.1
shared_buffers = "1GB"
wal_buffers = "16MB"
work_mem = "7MB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "6GB"
effective_io_concurrency = 200
maintenance_work_mem = "512MB"
max_connections = 160
max_parallel_maintenance_workers = 1
max_parallel_workers = 2
max_parallel_workers_per_gather = 1
max_wal_size = "4GB"
max_worker_processes = 4
min_wal_size = "1GB"
random_page_cost = 1.1
shared_buffers = "2GB"
wal_buffers = "16MB"
work_mem = "12MB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "12GB"
effective_io_concurrency = 200
maintenance_work_mem = "1GB"
max_connections = 240
max_parallel_maintenance_workers = 2
max_parallel_workers = 4
max_parallel_workers_per_gather = 2
max_wal_size = "4GB"
max_worker_processes = 6
min_wal_size = "2GB"
random_page_cost = 1.1
shared_buffers = "4GB"
wal_buffers = "16MB"
work_mem = "16MB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "24GB"
effective_io_concurrency = 200
maintenance_work_mem = "2GB"
max_connections = 380
max_parallel_maintenance_workers = 4
max_parallel_workers = 8
max_parallel_workers_per_gather = 4
max_wal_size = "4GB"
max_worker_processes = 8
min_wal_size = "2GB"
random_page_cost = 1.1
shared_buffers = "8GB"
wal_buffers = "16MB"
work_mem = "20MB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "48GB"
effective_io_concurrency = 200
maintenance_work_mem = "2GB"
max_connections = 480
max_parallel_maintenance_workers = 8
max_parallel_workers = 16
max_parallel_workers_per_gather = 8
max_wal_size = "4GB"
max_worker_processes = 16
min_wal_size = "2GB"
random_page_cost = 1.1
shared_buffers = "16GB"
wal_buffers = "16MB"
work_mem = "32MB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "96GB"
effective_io_concurrency = 200
maintenance_work_mem = "2GB"
max_connections = 490
max_parallel_maintenance_workers = 16
max_parallel_workers = 32
max_parallel_workers_per_gather = 16
max_wal_size = "4GB"
max_worker_processes = 32
min_wal_size = "2GB"
random_page_cost = 1.1
shared_buffers = "32GB"
wal_buffers = "16MB"
work_mem = "64MB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "144GB"
effective_io_concurrency = 200
maintenance_work_mem = "2GB"
max_connections = 500
max_parallel_maintenance_workers = 24
max_parallel_workers = 48
max_parallel_workers_per_gather = 24
max_wal_size = "4GB"
max_worker_processes = 48
min_wal_size = "2GB"
random_page_cost = 1.1
shared_buffers = "48GB"
wal_buffers = "16MB"
work_mem = "95MB"
checkpoint_completion_target = 0.9
default_statistics_target = 100
effective_cache_size = "192GB"
effective_io_concurrency = 200
maintenance_work_mem = "2GB"
max_connections = 500
max_parallel_maintenance_workers = 32
max_parallel_workers = 64
max_parallel_workers_per_gather = 32
max_wal_size = "4GB"
max_worker_processes = 64
min_wal_size = "2GB"
random_page_cost = 1.1
shared_buffers = "64GB"
wal_buffers = "16MB"
work_mem = "125MB"
Last updated: 2023-07-13