Глава 48. Логическое декодирование
Содержание
- 48.1. Примеры логического декодирования
- 48.2. Концепции логического декодирования
- 48.3. Интерфейс протокола потоковой репликации
- 48.4. Интерфейс логического декодирования на уровне SQL
- 48.5. Системные каталоги, связанные с логическим декодированием
- 48.6. Модули вывода логического декодирования
- 48.7. Запись вывода логического декодирования
- 48.8. Поддержка синхронной репликации для логического декодирования
- 48.9. Передача больших транзакций для логического декодирования
- 48.10. Поддержка двухфазной фиксации для логического декодирования
Postgres Pro обеспечивает инфраструктуру для потоковой передачи изменений, выполняемых через SQL, внешним потребителям. Эта функциональность может быть полезна для самых разных целей, включая аудит и реализацию репликации.
Изменения передаются в потоках, связываемых со слотами логической репликации.
Формат, в котором передаются изменения, определяет используемый модуль вывода. Пример модуля вывода включён в дистрибутив Postgres Pro. Также возможно разработать и другие модули, расширяющие выбор доступных форматов, не затрагивая код ядра самого сервера. Любой модуль вывода получает на вход отдельные строки, создаваемые командой INSERT
, и новые версии строк, которые создаёт UPDATE
. Доступность старых версий строк для UPDATE
и DELETE
зависит от выбора варианта идентификации реплики (см. описание REPLICA IDENTITY
).
Изменения могут быть получены либо по протоколу потоковой репликации (см. Раздел 54.4 и Раздел 48.3), либо через функции, вызываемые в SQL (см. Раздел 48.4). Также возможно разработать дополнительные методы для обработки данных, поступающих через слот репликации, не модифицируя код ядра сервера (см. Раздел 48.7).
Part VII. Internals
This part contains assorted information that might be of use to Postgres Pro developers.
Table of Contents
- 48. Overview of Postgres Pro Internals
- 49. System Catalogs
- 49.1. Overview
- 49.2.
pg_aggregate
- 49.3.
pg_am
- 49.4.
pg_amop
- 49.5.
pg_amproc
- 49.6.
pg_attrdef
- 49.7.
pg_attribute
- 49.8.
pg_authid
- 49.9.
pg_auth_members
- 49.10.
pg_cast
- 49.11.
pg_class
- 49.12.
pg_collation
- 49.13.
pg_constraint
- 49.14.
pg_conversion
- 49.15.
pg_database
- 49.16.
pg_db_role_setting
- 49.17.
pg_default_acl
- 49.18.
pg_depend
- 49.19.
pg_description
- 49.20.
pg_enum
- 49.21.
pg_event_trigger
- 49.22.
pg_extension
- 49.23.
pg_foreign_data_wrapper
- 49.24.
pg_foreign_server
- 49.25.
pg_foreign_table
- 49.26.
pg_index
- 49.27.
pg_inherits
- 49.28.
pg_language
- 49.29.
pg_largeobject
- 49.30.
pg_largeobject_metadata
- 49.31.
pg_namespace
- 49.32.
pg_opclass
- 49.33.
pg_operator
- 49.34.
pg_opfamily
- 49.35.
pg_pltemplate
- 49.36.
pg_policy
- 49.37.
pg_proc
- 49.38.
pg_range
- 49.39.
pg_replication_origin
- 49.40.
pg_rewrite
- 49.41.
pg_seclabel
- 49.42.
pg_shdepend
- 49.43.
pg_shdescription
- 49.44.
pg_shseclabel
- 49.45.
pg_statistic
- 49.46.
pg_tablespace
- 49.47.
pg_transform
- 49.48.
pg_trigger
- 49.49.
pg_ts_config
- 49.50.
pg_ts_config_map
- 49.51.
pg_ts_dict
- 49.52.
pg_ts_parser
- 49.53.
pg_ts_template
- 49.54.
pg_type
- 49.55.
pg_user_mapping
- 49.56. System Views
- 49.57.
pg_available_extensions
- 49.58.
pg_available_extension_versions
- 49.59.
pg_cursors
- 49.60.
pg_file_settings
- 49.61.
pg_group
- 49.62.
pg_indexes
- 49.63.
pg_locks
- 49.64.
pg_matviews
- 49.65.
pg_policies
- 49.66.
pg_prepared_statements
- 49.67.
pg_prepared_xacts
- 49.68.
pg_replication_origin_status
- 49.69.
pg_replication_slots
- 49.70.
pg_roles
- 49.71.
pg_rules
- 49.72.
pg_seclabels
- 49.73.
pg_settings
- 49.74.
pg_shadow
- 49.75.
pg_stats
- 49.76.
pg_tables
- 49.77.
pg_timezone_abbrevs
- 49.78.
pg_timezone_names
- 49.79.
pg_user
- 49.80.
pg_user_mappings
- 49.81.
pg_views
- 50. Frontend/Backend Protocol
- 51. Postgres Pro Coding Conventions
- 52. Native Language Support
- 53. Writing A Procedural Language Handler
- 54. Writing A Foreign Data Wrapper
- 55. Writing A Table Sampling Method
- 56. Writing A Custom Scan Provider
- 57. Genetic Query Optimizer
- 58. Index Access Method Interface Definition
- 59. GiST Indexes
- 60. SP-GiST Indexes
- 61. GIN Indexes
- 62. BRIN Indexes
- 63. Database Physical Storage
- 64. BKI Backend Interface
- 65. How the Planner Uses Statistics