From: Laurenz Albe [mailto:laurenz.a...@cybertec.at] > Tsunakawa, Takayuki wrote: > > I'm sorry to repeat myself, but anyway, I think we need a method to connect > to a standby > > as the original desire, because the primary instance may be read only > by default while > > only limited users update data. That's for reducing the burdon on the > primary and > > minimizing the impact on users who update data. For example, > > > > * run data reporting on the standby > > * backup the database from the standby > > * cascade replication from the standby > > I see. > > But then the new value should not be called "prefer-read", because that > would be > misleading. It would also not be related to the existing "read-write". > > For what you have in mind, there should be the options "primary-required" > and > "standby-preferred", however we implement them.
Yes, that's what I'm proposing and expecting with a new parameter whose naming follows PgJDBC's. > Have there been a lot of complaints that the existing "read-write" is not > good > enough to detect replication primaries? I haven't heard anything. I guess almost nobody uses default_transaction_read_only. Before that, see the description of target_session_attr: https://www.postgresql.org/docs/devel/libpq-connect.html#LIBPQ-PARAMKEYWORDS I'm afraid most users don't know whether they can connect to the primary/standby. Just searching "primary", "master" or "standby" in this page doesn't show anything relevant. > One use case I can think of is logical replication (or other replication > methods like > Slony). You can use the feature by setting default_transaction_read_only > = on > on the standby. I know that, but I suspect that's really a practical use case. Anyway, I'm OK with relying on target_session_attr to fulfill that need. Regards Takayuki Tsunakawa