)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"891ed019c3d6d4c02d58c01b9a15eccdf540a436","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"289ad6b6_7c1146b0","updated":"2025-09-08 03:10:32.000000000","message":"@wchy1001@gmail.com hello, I think, we can merge this MR.","commit_id":"433337c6d39620503e9081ec6a62e27b798c9ab6"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"4fabf1d7b23d887538fda85f4005042f88916d24","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4f711f65_65bb64a7","in_reply_to":"289ad6b6_7c1146b0","updated":"2025-09-08 06:01:17.000000000","message":"thanks for the review","commit_id":"433337c6d39620503e9081ec6a62e27b798c9ab6"}],"backup/drivers/postgres.py":[{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"bcadd1977650d26103a7d7768ab850899175103a","unresolved":true,"context_lines":[{"line_number":228,"context_line":"            raise Exception(\"Cannot find parent backup WAL file.\")"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        with psql_util.PostgresConnection(\u0027postgres\u0027) as conn:"},{"line_number":231,"context_line":"            # Get PostgreSQL version"},{"line_number":232,"context_line":"            version \u003d conn.query(\"SHOW server_version;\")[0][0]"},{"line_number":233,"context_line":"            major_version \u003d int(version.split(\u0027.\u0027)[0])"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"            if major_version \u003c 15:"},{"line_number":236,"context_line":"                self.start_segment \u003d conn.query("},{"line_number":237,"context_line":"                    f\"SELECT pg_start_backup(\u0027{self.filename}\u0027, false, false)\""},{"line_number":238,"context_line":"                )[0][0]"},{"line_number":239,"context_line":"            else:"},{"line_number":240,"context_line":"                # pg_backup_start only takes label and fast parameters"},{"line_number":241,"context_line":"                self.start_segment \u003d conn.query("},{"line_number":242,"context_line":"                    f\"SELECT pg_backup_start(\u0027{self.filename}\u0027, false)\""},{"line_number":243,"context_line":"                )[0][0]"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"            self.start_wal_file \u003d conn.query("},{"line_number":246,"context_line":"                f\"SELECT pg_walfile_name(\u0027{self.start_segment}\u0027)\")[0][0]"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"            if major_version \u003c 15:"},{"line_number":249,"context_line":"                self.stop_segment \u003d conn.query("},{"line_number":250,"context_line":"                    \"SELECT * FROM pg_stop_backup(false, true)\")[0][0]"},{"line_number":251,"context_line":"            else:"},{"line_number":252,"context_line":"                # pg_backup_stop only takes wait_for_archive parameter"},{"line_number":253,"context_line":"                self.stop_segment \u003d conn.query("},{"line_number":254,"context_line":"                    \"SELECT * FROM pg_backup_stop(true)\")[0][0]"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        # We have to hack this because self.command is"},{"line_number":257,"context_line":"        # initialized in the base class before we get here, which is"}],"source_content_type":"text/x-python","patch_set":1,"id":"42451887_172d867f","line":254,"range":{"start_line":231,"start_character":1,"end_line":254,"end_character":63},"updated":"2025-07-07 01:23:30.000000000","message":"Hi, I think version should be handle from server to container backup.\nThe server will pass database version into container because in the server had controll version in some case. I don\u0027t want we use a redundant code\nWhat do you think about this?","commit_id":"433337c6d39620503e9081ec6a62e27b798c9ab6"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"8661adfd1d1fc922e047051e5be89a857a447bff","unresolved":true,"context_lines":[{"line_number":228,"context_line":"            raise Exception(\"Cannot find parent backup WAL file.\")"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        with psql_util.PostgresConnection(\u0027postgres\u0027) as conn:"},{"line_number":231,"context_line":"            # Get PostgreSQL version"},{"line_number":232,"context_line":"            version \u003d conn.query(\"SHOW server_version;\")[0][0]"},{"line_number":233,"context_line":"            major_version \u003d int(version.split(\u0027.\u0027)[0])"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"            if major_version \u003c 15:"},{"line_number":236,"context_line":"                self.start_segment \u003d conn.query("},{"line_number":237,"context_line":"                    f\"SELECT pg_start_backup(\u0027{self.filename}\u0027, false, false)\""},{"line_number":238,"context_line":"                )[0][0]"},{"line_number":239,"context_line":"            else:"},{"line_number":240,"context_line":"                # pg_backup_start only takes label and fast parameters"},{"line_number":241,"context_line":"                self.start_segment \u003d conn.query("},{"line_number":242,"context_line":"                    f\"SELECT pg_backup_start(\u0027{self.filename}\u0027, false)\""},{"line_number":243,"context_line":"                )[0][0]"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"            self.start_wal_file \u003d conn.query("},{"line_number":246,"context_line":"                f\"SELECT pg_walfile_name(\u0027{self.start_segment}\u0027)\")[0][0]"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"            if major_version \u003c 15:"},{"line_number":249,"context_line":"                self.stop_segment \u003d conn.query("},{"line_number":250,"context_line":"                    \"SELECT * FROM pg_stop_backup(false, true)\")[0][0]"},{"line_number":251,"context_line":"            else:"},{"line_number":252,"context_line":"                # pg_backup_stop only takes wait_for_archive parameter"},{"line_number":253,"context_line":"                self.stop_segment \u003d conn.query("},{"line_number":254,"context_line":"                    \"SELECT * FROM pg_backup_stop(true)\")[0][0]"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"        # We have to hack this because self.command is"},{"line_number":257,"context_line":"        # initialized in the base class before we get here, which is"}],"source_content_type":"text/x-python","patch_set":1,"id":"185e18d9_4ba94c93","line":254,"range":{"start_line":231,"start_character":1,"end_line":254,"end_character":63},"in_reply_to":"42451887_172d867f","updated":"2025-07-09 02:00:11.000000000","message":"I think both are ok, but currently we only pass datastore version in the backup process ,  For the restore process, we didn\u0027t pass the datastore version. if we adopt this approach, we may need to change this behavior. \n\nAdditionally, The 2025.1 branch should only support postgresql 12, as we only test that version in CI.  so I am not sure whether we need to back port this commit to this branch.","commit_id":"433337c6d39620503e9081ec6a62e27b798c9ab6"}]}
