Table of Contents

Class PgBouncerInstaller

Namespace
FishMMO.Installer
Assembly
FishMMO-Installer.dll

Handles PgBouncer installation and baseline service setup. Supports Windows and Linux (Arch/CachyOS, Ubuntu/Debian).

public static class PgBouncerInstaller
Inheritance
PgBouncerInstaller
Inherited Members

Methods

ConfigurePgBouncerLinuxAsync(AppSettings)

Generates /etc/pgbouncer/pgbouncer.ini with transaction pooling and scram-sha-256 authentication. Offers two auth modes:

  1. auth_query (recommended): PgBouncer delegates authentication to PostgreSQL via a dedicated fishmmo_pgb_auth role and an auth_query function. No SCRAM hashes are stored on disk.
  2. auth_file: SCRAM-SHA-256 hashes from pg_shadow are written to /etc/pgbouncer/userlist.txt.

Requires PostgreSQL superuser credentials.

public static Task ConfigurePgBouncerLinuxAsync(AppSettings appSettings)

Parameters

appSettings AppSettings

Returns

Task

InstallPgBouncer(AppSettings)

Installs PgBouncer on the current platform and attempts to enable/start the service.

public static Task InstallPgBouncer(AppSettings appSettings)

Parameters

appSettings AppSettings

Application settings used for post-install guidance.

Returns

Task

IsPgBouncerInstalledAsync()

Returns true if the pgbouncer binary is present on PATH.

public static Task<bool> IsPgBouncerInstalledAsync()

Returns

Task<bool>