3. Какие различия между Tantor SE 1C 16 и PostgreSQL 16#
3. Какие различия между Tantor SE 1C 16 и PostgreSQL 16 #
- 3.1. Полезные ссылки
- 3.2. Улучшения ядра
- 3.3. Дополнительные поставляемые утилиты
- 3.4. Дополнительные поставляемые утилиты
- 3.5. Дополнительные программы Tantor, поставляемые в виде отдельных пакетов
- 3.6. Дополнительные внешние модули, поставляемые в виде отдельных пакетов
- 3.7. Программные интерфейсы для различных языков
- 3.8. Примечания к выпуску
- 3.9. Как настроить параметры Tantor SE-1C для 1С
3.1. Полезные ссылки #
3.2. Улучшения ядра #
64-битный счетчик транзакций.
Логическая репликация между кластерами СУБД с 32-битным и 64-битным идентификатором транзакций.
Улучшенная производительность с большим количеством одновременных пользователей благодаря улучшениям в механизме SLRU, которые были внесены в PostgreSQL 17.
Увеличенное количество секций в общих буферах.
Оптимизированный алгоритм сжатия данных
pglz(~1,4 раза).Уменьшенное количество блокировок страниц данных в общих буферах.
Сжатие в libpq.
Оптимизация и ускорение процесса восстановления каскадной репликации (standby fadvise).
Возможность завершения транзакции на основе предустановленного тайм-аута.
Поддержка расширений и типов данных для совместимости с 1С.
Детальное вычисление оценки стоимости планировщика для операций сортировки с помощью настройки enable_detailed_sort_cost.
Улучшения SIMD для архитектур x86 (SSE2) и ARM (NEON) были введены, что привело к улучшению обработки транзакций. Эти достижения также способствуют более быстрым операциям с jsontext, тем самым повышая общую эффективность обработки потоков данных.
Оптимизация для линейного поиска для процессоров архитектуры ARM64.
Проверка контрольной суммы блоков данных при отправке WAL на резервный сервер.
Повышенная информативность диагностической информации:
Диагностика внутренних ошибок СУБД (
backtrace_on_internal_errorпараметр).Информативность журналов сервера СУБД — стартовые сообщения содержат дополнительную диагностическую информацию.
Приложение сервера pg_controldata содержит дополнительную метаинформацию о редакции и сборке для упрощения диагностики возможных неполадок.
Максимальный размер данных в ячейках таблицы, поддерживаемый модулем pg_dump, составляет 2 ГБ.
3.3. Дополнительные поставляемые утилиты #
pgcompacttable — инструмент, предназначенный для уменьшения размера раздутых таблиц и индексов без использования тяжелых блокировок. Он разработан для реорганизации данных в таблицах и перестройки индексов с целью освобождения дискового пространства без влияния на производительность базы данных.
pgcopydb — инструмент, который автоматизирует выполнение pg_dump | pg_restore между двумя работающими серверами Postgres. Чтобы как можно быстрее сделать копию базы данных на другой сервер, желательно использовать параллельные опции pg_dump и при этом иметь возможность передавать данные в несколько задач pg_restore.
3.4. Дополнительные поставляемые утилиты #
data_generator — генерирует фейковые данные для тестирования и разработки. Поддерживает различные типы данных и позволяет настраивать генерируемые данные с помощью шаблонов.
pgcompacttable — уменьшает размер раздутых таблиц и индексов без использования тяжелых блокировок. Он разработан для реорганизации данных в таблицах и перестроения индексов с целью освобождения дискового пространства без влияния на производительность базы данных.
pgcopydb — автоматизирует выполнение pg_dump | pg_restore между двумя работающими серверами Postgres. Чтобы как можно быстрее скопировать базу данных на другой сервер, желательно использовать параллельные опции pg_dump и при этом иметь возможность передавать данные в несколько задач pg_restore.
slru_upgrader — автоматически переименовывает параметры конфигурации, связанные с SLRU-буферами, при обновлении основной версии с Tantor SE-1C 15. Эта утилита помогает избежать проблемы, когда сервер не может запуститься после обновления из-за наличия старых имён параметров в файле
postgresql.conf.
3.5. Дополнительные программы Tantor, поставляемые в виде отдельных пакетов #
Платформа Тантор — полнофункциональная модульная платформа администрирования и мониторинга СУБД Tantor и большинства кластеров на базе PostgreSQL. Платформа упрощает повседневную работу с СУБД, значительно повышая простоту управления. Функциональные возможности программного обеспечения включают: умный и простой пользовательский интерфейс, автоматическую адаптивную настройку кластера, обзор системы, оповещения и мониторинг, автоматические проверки состояния и аудит схемы, выполнение задач обслуживания через графический интерфейс, продвинутый профилировщик запросов и администрирование нескольких серверов в одном месте.
pg_anon — самостоятельная программа на Python для работы с СУБД Tantor или базами данных на основе PostgreSQL, предназначенная для маскировки и анонимизации данных при миграции данных между производственными и тестовыми средами.
pg_cluster — ansible-плейбук для кластера высокой доступности PostgreSQL на Patroni.
pg_configurator — инструмент для настройки PostgreSQL.
3.6. Дополнительные внешние модули, поставляемые в виде отдельных пакетов #
ldap2pg — инструмент, который автоматизирует синхронизацию ролей PostgreSQL и их привилегий из каталога LDAP (или YAML-конфигурации), создавая, обновляя и удаляя роли для соответствия вашему корпоративному каталогу.
mysql_fdw — обёртка внешних данных (Foreign Data Wrapper) для PostgreSQL, которая позволяет Postgres выполнять запросы и манипулировать таблицами на удалённом сервере MySQL так, как если бы они были локальными, поддерживая операции SELECT/INSERT/UPDATE/DELETE и оптимизации push-down.
pg_timetable — продвинутый, автономный планировщик заданий для PostgreSQL, который выполняет SQL-запросы, системные программы и встроенные задачи по пользовательскому расписанию cron или с заданным интервалом, с поддержкой связанных рабочих процессов и конфигурации, управляемой из базы данных.
pgbouncer — легковесный пулер подключений PostgreSQL, который располагается между клиентами и базой данных для эффективного управления и повторного использования соединений с сервером, снижая издержки и повышая параллелизм при высоких нагрузках.
tds_fdw — обёртка внешних данных (Foreign Data Wrapper) для PostgreSQL, которая позволяет PostgreSQL подключаться к базам данных и выполнять запросы с использованием протокола Tabular Data Stream (TDS), таким как Microsoft SQL Server и Sybase, предоставляя их таблицы как внешние таблицы.
wal-g — инструмент для создания зашифрованных, сжатых резервных копий Tantor SE-1C (полных и инкрементальных) и отправки/загрузки их в/из хранилища без сохранения на вашей файловой системе.
3.7. Программные интерфейсы для различных языков #
Tantor SE-1C предоставляет широкий спектр драйверов и библиотек для взаимодействия с базой данных из различных языков программирования и сред. В следующих разделах описаны основные интерфейсы и соответствующие инструменты.
3.7.1. C/C++ #
libpq: Основная библиотека C для клиентских программ Tantor SE-1C. Она позволяет отправлять запросы, получать результаты и управлять соединениями.
libpqxx: Обертка C++ над libpq, предлагающая более современный и удобный интерфейс для разработчиков на C++.
3.7.2. Java/JDBC #
PostgreSQL JDBC Driver: Официальный JDBC-драйвер, который позволяет Java-приложениям взаимодействовать с базами данных Tantor SE-1C с использованием стандартного JDBC API.
3.7.3. .NET #
Npgsql: Открытый .NET провайдер данных для PostgreSQL. Он позволяет .NET приложениям использовать ADO.NET для подключения к Tantor SE-1C, выполнения запросов и получения данных.
3.7.4. ODBC #
psqlODBC: Официальный драйвер PostgreSQL ODBC, обеспечивающий подключение для приложений и инструментов, использующих интерфейсы ODBC.
3.7.5. Perl #
DBD::Pg: Perl модуль, совместимый с DBI для Tantor SE-1C. Он безупречно интегрируется с Perl DBI фреймворком для взаимодействия с базами данных.
3.7.6. Python #
psycopg2/psycopg: Широко используемые адаптеры Python, реализующие спецификацию Python DB-API. Они обеспечивают надежный и эффективный способ выполнения запросов, обработки транзакций и управления соединениями.
pg8000: Чисто-Python альтернативный адаптер, который также поддерживает стандарт DB-API.
3.7.7. Ruby #
pg gem: Официальный драйвер Ruby для PostgreSQL, предоставляющий родной интерфейс для выполнения запросов и обработки результатов.
3.7.8. Ткл #
pgtcl/pgtcl-ng: расширения Tcl, позволяющие устанавливать соединения с Tantor SE-1C, выполнять запросы и управлять результатами запросов в скриптах Tcl.
3.8. Примечания к выпуску #
Первый выпуск Tantor SE-1C — 16.2.1.
Значительные изменения можно найти на соответствующей странице.
Все остальные изменения см. в Примечаниях к выпуску.