F.42. pg_logicalinspect â пÑовеÑка компоненÑов логиÑеÑкого декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ #
ÐодÑÐ»Ñ pg_logicalinspect пÑедоÑÑавлÑÐµÑ SQL-ÑÑнкÑии Ð´Ð»Ñ Ð¿ÑовеÑки компоненÑов логиÑеÑкого декодиÑованиÑ. Ðн позволÑÐµÑ Ð¿ÑоÑмаÑÑиваÑÑ ÑеÑии Ñнимков, полÑÑеннÑÑ
пÑи логиÑеÑком декодиÑовании, ÑабоÑаÑÑего клаÑÑеÑа баз даннÑÑ
Postgres Pro. ÐÑо полезно Ð´Ð»Ñ Ð¾Ñладки и иÑÑледоваÑелÑÑкиÑ
Ñелей.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзоваÑÑ ÑÑи ÑÑнкÑии ÑазÑеÑено ÑолÑко ÑÑпеÑполÑзоваÑелÑм и Ñленам Ñоли pg_read_server_files. СÑпеÑполÑзоваÑÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð°ÑÑ Ð´Ð¾ÑÑÑп дÑÑгим полÑзоваÑелÑм, воÑполÑзовавÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ GRANT.
F.42.1. ФÑнкÑии #
-
pg_get_logical_snapshot_meta(filename text) returns record# ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð¼ÐµÑаданнÑе о Ñайле Ñнимка, полÑÑенного пÑи логиÑеÑком декодиÑовании, коÑоÑÑй ÑаÑположен в каÑалоге ÑеÑвеÑа
pg_logical/snapshots. ÐÑгÑменÑимÑ_ÑайлапÑедÑÑавлÑÐµÑ Ñобой Ð¸Ð¼Ñ Ñайла Ñнимка. ÐÑимеÑ:postgres=# SELECT * FROM pg_ls_logicalsnapdir(); -[ RECORD 1 ]+----------------------- name | 0-40796E18.snap size | 152 modification | 2024-08-14 16:36:32+00 postgres=# SELECT * FROM pg_get_logical_snapshot_meta('0-40796E18.snap'); -[ RECORD 1 ]-------- magic | 1369563137 checksum | 1028045905 version | 6 postgres=# SELECT ss.name, meta.* FROM pg_ls_logicalsnapdir() AS ss, pg_get_logical_snapshot_meta(ss.name) AS meta; -[ RECORD 1 ]------------- name | 0-40796E18.snap magic | 1369563137 checksum | 1028045905 version | 6ÐÑли
имÑ_Ñайлане ÑооÑвеÑÑÑвÑÐµÑ ÑÐ°Ð¹Ð»Ñ Ñнимка, ÑÑнкÑÐ¸Ñ Ð²ÑдаÑÑ Ð¾ÑибкÑ.-
pg_get_logical_snapshot_info(filename text) returns record# ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ Ñайле Ñнимка, полÑÑенного пÑи логиÑеÑком декодиÑовании, коÑоÑÑй ÑаÑположен в каÑалоге ÑеÑвеÑа
pg_logical/snapshots. ÐгÑÑменÑимÑ_ÑайлапÑедÑÑавлÑÐµÑ Ñобой Ð¸Ð¼Ñ Ñайла. ÐÑимеÑ:postgres=# SELECT * FROM pg_ls_logicalsnapdir(); -[ RECORD 1 ]+----------------------- name | 0-40796E18.snap size | 152 modification | 2024-08-14 16:36:32+00 postgres=# SELECT * FROM pg_get_logical_snapshot_info('0-40796E18.snap'); -[ RECORD 1 ]------------+----------- state | consistent xmin | 751 xmax | 751 start_decoding_at | 0/40796AF8 two_phase_at | 0/40796AF8 initial_xmin_horizon | 0 building_full_snapshot | f in_slot_creation | f last_serialized_snapshot | 0/0 next_phase_at | 0 committed_count | 0 committed_xip | catchange_count | 2 catchange_xip | {751,752} postgres=# SELECT ss.name, info.* FROM pg_ls_logicalsnapdir() AS ss, pg_get_logical_snapshot_info(ss.name) AS info; -[ RECORD 1 ]------------+---------------- name | 0-40796E18.snap state | consistent xmin | 751 xmax | 751 start_decoding_at | 0/40796AF8 two_phase_at | 0/40796AF8 initial_xmin_horizon | 0 building_full_snapshot | f in_slot_creation | f last_serialized_snapshot | 0/0 next_phase_at | 0 committed_count | 0 committed_xip | catchange_count | 2 catchange_xip | {751,752}ÐÑли
имÑ_Ñайлане ÑооÑвеÑÑÑвÑÐµÑ ÑÐ°Ð¹Ð»Ñ Ñнимка, ÑÑнкÑÐ¸Ñ Ð²ÑдаÑÑ Ð¾ÑибкÑ.
F.42.2. ÐвÑÐ¾Ñ #
ÐеÑÑÑан ÐÑÑво <bertranddrouvot.pg@gmail.com>