Hi, On Thu, Feb 20, 2025 at 02:22:41AM +0000, Hayato Kuroda (Fujitsu) wrote: > Dear Michael, >
Thanks for the report and the patch! > > I did not check how these call behave individually, just a few > > comments while putting my eyes on the patch. > > > > + if (!IsUnderPostmaster) > > + elog(ERROR, > > + "slot operation is prohibited in the single user > > mode"); > > > > elog() should not be used for failures that can be user-facing as this > > would not provide any translation. > > I intentionally used elog() because I thought single user mode is not > user-facing. > But it is OK for me to use ereport() instead. Yeah, I think it's also about using ereport for cases that we think can happen ( and so needs to be translated). In this case, it clearly can happen so ereport() is better. > > I'd suggest rewording the error message to provide some more context, > > as well, say: > > "cannot use %s in single-user mode", "function_name" > > Fixed. PSA new version === 1 Nit: "cannot use function %s in single-user mode", "function_name"" maybe? (that would somehow match the existing ""user-defined types cannot use subscripting function %s") === 2 + "pg_copy_replication_slot"))); s/pg_copy_replication_slot/copy_replication_slot/ maybe? As it is the function that would report the error actually (could be called from pg_copy_logical_replication_slot_[a|b|c] and pg_copy_physical_replication_slot_[a|b] though). Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com