From 9114c8cb8e7d0bb0f686190d47c60591ac211f35 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 8 Apr 2023 15:53:36 +0900 Subject: feat(backend): support replication of postgresql Resolve #10205 --- packages/backend/src/postgres.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'packages/backend/src/postgres.ts') diff --git a/packages/backend/src/postgres.ts b/packages/backend/src/postgres.ts index efeca46b49..bb21ed827e 100644 --- a/packages/backend/src/postgres.ts +++ b/packages/backend/src/postgres.ts @@ -200,6 +200,22 @@ export function createPostgresDataSource(config: Config) { statement_timeout: 1000 * 10, ...config.db.extra, }, + replication: config.dbReplications ? { + master: { + host: config.db.host, + port: config.db.port, + username: config.db.user, + password: config.db.pass, + database: config.db.db, + }, + slaves: config.dbSlaves!.map(rep => ({ + host: rep.host, + port: rep.port, + username: rep.user, + password: rep.pass, + database: rep.db, + })), + } : undefined, synchronize: process.env.NODE_ENV === 'test', dropSchema: process.env.NODE_ENV === 'test', cache: !config.db.disableCache && process.env.NODE_ENV !== 'test' ? { // dbをcloseしても何故かredisのコネクションが内部的に残り続けるようで、テストの際に支障が出るため無効にする(キャッシュも含めてテストしたいため本当は有効にしたいが...) -- cgit v1.2.3-freya