Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vnWLq-008JNq-2C for pgsql-hackers@arkaria.postgresql.org; Wed, 04 Feb 2026 06:26:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vnWLo-009Uq7-2A for pgsql-hackers@arkaria.postgresql.org; Wed, 04 Feb 2026 06:26:56 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vnWLo-009Upz-1F for pgsql-hackers@lists.postgresql.org; Wed, 04 Feb 2026 06:26:56 +0000 Received: from mail-qt1-x829.google.com ([2607:f8b0:4864:20::829]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vnWLl-00000000ysO-2J1P for pgsql-hackers@postgresql.org; Wed, 04 Feb 2026 06:26:55 +0000 Received: by mail-qt1-x829.google.com with SMTP id d75a77b69052e-505e2e4c35fso31769541cf.3 for ; Tue, 03 Feb 2026 22:26:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1770186412; cv=none; d=google.com; s=arc-20240605; b=SD/8ls9KPg1flETT4ttpnwVo0J19xRuTttnnNXL+Mubn0nDI5X8MYPVOWRdm0EWugc BIP13aU/yEyJ0kaBzNY4eJjOzBSmb+KZyWB5K9wlRSoKw2otDV8pstGLuBHi2lXBHa4Q znlurfjVlXZ/uLIN47yi9Z3r0CudHUcVlUQou/21DhN0T8LwGgtIoQVtR21tvYvSUElw J5eKMlRlHYFA/6eNzEZLdHnTvsO6pa8wApMzqBPEeoPVswFAd7ml4mqRDSTEBcVAM9qc m6apcnr7Evg/lRiwuzT8+d97d4yFfWDMFF5gHH6KRpdZfSCvQHGfc5TkffyVAsqMG+b9 BWdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=coQBLESNcDj9Vm0uj5b8TzHB/HIgpNWKtOyxKvrCSSo=; fh=wG2O5chZ56JwlKs5fklU8DQUUSn850XLtBx+Fp5dUQ8=; b=lg435QNoB6PwB5X38hF5827+CzKpGHZI2IKTnU92I9H6+l6atnuU8qPVUwSKcfepX6 wk9tY/vIwe8VjOGgkzZaSyz6bcXu2lhCBYwaprKP+HvrKsScoKgyILJNm6WdV5vQtecP VtvhJwbwb572wBDZqHR9WhCRgavxW36m0eN8qBliBr42TtviJikakUEBKU3GgfbmxkJv nJeGovN+gDDELXybYcx7Q4gVGe1LgLVrKDPOIrCSpvehipzZGVDLcL8/NoYaASc/WCov ynllR8ZVLBiwNb5g3FUi+5eglKUSZRKeUBrIrbbJeGFeVDF61kT2TXVVQbvBhbI37GEn a4tg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770186412; x=1770791212; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=coQBLESNcDj9Vm0uj5b8TzHB/HIgpNWKtOyxKvrCSSo=; b=i1XLXBoIArO7nYsGUYXcUzxLpgJIwOXyhdw3rsR4P38NNuBdGOct/Tk3Ktixup2Krq SMSDdqBFqCO4rwo6IEVOC/Zv8wW37bE+OLOaRa5jy3u5NdiOmxfcRAfHDddbJjX95eng fgJ9D8uw0a65tOmDXrQkYvjDz+xSDazEjtxvvMP/wM2czPOpLXcd56s10OuoX2xoxwT1 PUkz2Y2EWDqz4f6D9IBRdtvTn0udRvwf7fA/hZjL7+SS38Uls/b1rkUesHMmcQghzksD JHQLNgyP+ONN1btgfeqsAAXeK0xfLBKJcbca2l1iqouSEoqqryp0502kP2w50NNcUK9W rWfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770186412; x=1770791212; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=coQBLESNcDj9Vm0uj5b8TzHB/HIgpNWKtOyxKvrCSSo=; b=Ok3ET5HYbP84KH5wwDl72lIVTvOfR9wjbSB7e1Tb9WmQ30blKdUn57VA9P+/v0/MQM 7Ws2BfZBrg8/kFAxhQrUSXAXJtvlmhJmzIR/2u0qbpJ94tvU9CivwYoMDThYV+xnpXZb zSlFkO8+VkIpRoNYDFuh/cCF+eqLPjm/43fpHqkGZ+mmY3uGue1ATFtUnCsPOlY5VcBO PQivS0e05ZCS1kjX+Uk4uGVqge0z5TmTPBKBAiejbqI6H94+9amzth88ofg58b51dhGS 5l5tPlMCe6c4MNoYclYwHPVMUaDi48la8AbhdUoNnoWJWgUDeyKLW0b73e1o5neZ+w97 UlKg== X-Gm-Message-State: AOJu0YyOsP+NQR3RUnhVVMUAWF58OeDwpElSyi8U34lMnWjXR1cshfzI sEc2U4CIStYdU5/VxCP1+PpQe5a0adfamrXBaKU5AuA/9HEOgHa+agI9L+KqHDnTGUf7jW2NiUY 1jlY+wkCIi/mZJkgp4ZJgcRtuDA0xlP4= X-Gm-Gg: AZuq6aIMAEWIWhpjBrVLCek7FsqzMQfXir8STiCozlscW2iFtQwSQcadFDg/bMauwUw 0oCYh5GYAhAQFFlfZ7UGIwCn9zh4BpHcIoaMGrUrOH9xSOrHame54dEvgVqC3tNQqV1hvCLV+fM eqGgucxOiwmoa7uMwInuJUnsJneXR7twdsWPvU6VMNe0jhUk3c0BRbVu22GFgGfHQ6T4qBp5mmv YsicNG/BMR+bsMWbKP9OxPBVoOI3zdR+fLOeFPWhI1CFyGmOYJDne8QK0TEAgjUT6MBqiFhra9Y qQANmzKhYjmAtZ72zCaOPWDvEY4pEQ== X-Received: by 2002:ac8:5e14:0:b0:4ee:1875:42fa with SMTP id d75a77b69052e-5061c0bca2bmr23497661cf.1.1770186411609; Tue, 03 Feb 2026 22:26:51 -0800 (PST) MIME-Version: 1.0 References: <20260204140731.0e4b511906ac748abad1f3d9@sraoss.co.jp> In-Reply-To: <20260204140731.0e4b511906ac748abad1f3d9@sraoss.co.jp> From: Peter Smith Date: Wed, 4 Feb 2026 17:26:25 +1100 X-Gm-Features: AZwV_QhnkEwqgIhPkMd00MQd7IgrBjWTGdMmVp23U2CwKJyKz0F7QkfduEYCuXc Message-ID: Subject: Re: Warn when creating or enabling a subscription with max_logical_replication_workers = 0 To: Yugo Nagata Cc: Pgsql Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Feb 4, 2026 at 4:07=E2=80=AFPM Yugo Nagata wr= ote: > > Hi, > > I would like to propose emitting a warning when creating or enabling a > subscription while max_logical_replication_workers is set to 0. In this > case, the CREATE/ALTER SUBSCRIPTION command completes successfully withou= t > any warning, making it difficult to notice that logical replication canno= t > start. > > Of course, users can confirm whether logical replication is working by > checking system views such as pg_stat_replication or pg_stat_subscription= . > However, emitting warnings explicitly in these cases would make this > situation more visible. We have seen user reports where this behavior > caused confusion, with users wondering why replication did not start. > Hi Nagata-San. AFAIK the default for `max_logical_replication_workers` is 4. So how does the maximum get to be 0 unless the user had explicitly configured it that way? Also subscriptions require multiple workers in order to work properly [1] so why check only 0? Why not check 1 or 2 or 3.... those low numbers are also likely to cause similar problems aren't they? And what about when the `max_logical_replication_workers` is 100, but those 100 are already being used. IOW, would it be more useful to warn when you do not have enough *available* workers for the Subscription to function properly, rather than checking what the maximum value is set to? =3D=3D=3D=3D=3D=3D [1] https://www.postgresql.org/docs/current/runtime-config-replication.htm= l#GUC-MAX-LOGICAL-REPLICATION-WORKERS Kind Regards, Peter Smith Fujitsu Australia