On Thu, Feb 14, 2019 at 1:04 PM Tsunakawa, Takayuki < tsunakawa.ta...@jp.fujitsu.com> wrote:
> From: Haribabu Kommi [mailto:kommi.harib...@gmail.com] > > No. It's not good if the user has to be bothered by > > default_transaction_read_only when he simply wants to a standby. > > > > > > > > OK. Understood. > > so if we are going to differentiate between readonly and standby types, > > then I still > > feel that adding a prefer-read to target_session_attrs is still valid > > improvement. > > I agree that it's valid improvement to add prefer-read to > target_session_attr, as a means to "get a read-only session." > > > But the above improvement can be enhanced once the base work of > GUC_REPORT > > is finished. > > Is it already in progress in some thread, or are you trying to start from > scratch? (I may have done it, but I don't remember it well...) > > > Yes, I want to work on this patch, hopefully by next commitfest. In case > > if I didn't get time, > > I can ask for your help. > > I'm glad to hear that. Sure. I'd like to review your patch, and possibly > add/modify code if necessary. Are you going to add > target_server_type={primary | standby | prefer_standby} as well as add > prefer-read to target_session_attr? > > > > (I wonder which of server_type or server_role feels natural in > > English.) > > > > > > > > server_type may be good as it stands with connection option > > (target_server_type). > > Thanks, agreed. That also follows PgJDBC's targetServerType. > Here I attached first set of patches that implemented the prefer-read option after reporting the transaction_read_only GUC to client. Along the lines of adding prefer-read option patch, 1. I refactor the existing code to reduce the duplicate. 2. Added a enum to represent the user requested target_session_attrs type, this is used in comparison instead of doing a strcmp always. 3. Existing read-write code is modified to use the new reported GUC instead of executing the show command. Basic patches are working, there may still need some documentation works. Now I will add the another parameter target_server_type to choose the primary, standby or prefer-standby as discussed in the upthreads with a new GUC variable. Regards, Haribabu Kommi Fujitsu Australia
0004-New-prefer-read-target_session_attrs-type.patch
Description: Binary data
0001-Restructure-the-code-to-remove-duplicate-code.patch
Description: Binary data
0002-New-TargetSessionAttrsType-enum.patch
Description: Binary data
0003-Make-transaction_read_only-as-GUC_REPORT-varaible.patch
Description: Binary data