# DBMS configuruation # Copyright (C) 2022 Nguyễn Gia Phong # # This file is part of loang configuration. # # Loang configuration is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Loang configuration is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with loang configuration. If not, see . { pkgs, ... }: { services = { postgresql = { enable = true; package = pkgs.postgresql_15; settings = { checkpoint_timeout = "5min"; effective_cache_size = "1GB"; effective_io_concurrency = 100; maintenance_work_mem = "320MB"; max_parallel_maintenance_workers = 4; max_parallel_workers_per_gather = 4; max_wal_senders = 0; random_page_cost = 1.25; shared_buffers = "512MB"; wal_buffers = -1; work_mem = "32MB"; }; }; postgresqlBackup = { compression = "zstd"; compressionLevel = 19; enable = true; location = "/mnt/nas/backup/postgresql"; }; }; }