3. What are the differences between Tantor SE 1C 16 and PostgreSQL 16#

3. What are the differences between Tantor SE 1C 16 and PostgreSQL 16

3. What are the differences between Tantor SE 1C 16 and PostgreSQL 16 #

3.2. Core improvements #

  • 64-bit transaction counter.

  • Improved performance with a large number of simultaneous users due to improvements in the SLRU mechanism, which was made in PostgreSQL 17.

  • Increased number of partitions in the shared buffers.

  • Optimized pglz data compression algorithm (~1.4 times).

  • Reduced the number of data page locks in the shared buffers.

  • libpq compression.

  • Optimization and acceleration of the cascade replication recovery process (standby fadvise).

  • Ability to end a transaction based on a preset timeout.

  • Support for extensions and data types for compatibility with 1C.

  • SIMD enhancements for x86 (SSE2) and ARM (NEON) architectures have been introduced, leading to improvements in transaction processing. These advancements also contribute to faster operations with jsontext, thereby boosting overall data stream processing efficiency.

  • Optimization for linear search for ARM64 architecture processors.

  • When sending the WAL to the standby server, a checksum of the data blocks is verified.

  • Increased informative value of diagnostic information:

    • Diagnostics of internal DBMS errors (backtrace_on_internal_error parameter).

    • The informativeness of the DBMS server logs — the start messages contain additional diagnostic information.

    • The pg_controldata server application contains additional meta information about the edition and assembly to simplify the diagnosis of possible problems.

  • The maximum size of data in table cells supported by the pg_dump module is 2 GB.

3.3. Additional Supplied Utilities #

  • pgcompacttable — a tool designed to reduce the size of bloated tables and indexes without using heavy locks. It is developed to reorganize data in tables and rebuild indexes in order to reclaim disk space without impacting database performance.

  • pgcopydb — a tool that automates running pg_dump | pg_restore between two running Postgres servers. To make a copy of a database to another server as quickly as possible, one would like to use the parallel options of pg_dump and still be able to stream the data to as many pg_restore jobs.

3.4. Additionally supplied modules (extensions) #

credcheck - provides few general credential checks, which will be evaluated during the user creation, during the password change and user renaming. By using this extension, we can define a set of rules to allow a specific set of credentials, and a set of rules to reject a certain type of credentials. This extension is developed based on the PostgreSQL's check_password_hook hook.

fasttrun - provides transaction unsafe function to truncate temporary tables without growing pg_class size. This module is required for 1C Enterprise support. Fast truncate operation is not transactional, so its results cannot be rolled back and become immediately visible in all sessions regardless of isolation level.

fulleq - provides additional equivalence operator for compatibility with Microsoft SQL Server. This module is required for 1C Enterprise support.

hypopg - adds support for hypothetical_indexes. A hypothetical or virtual index is an index that does not actually exist. Thus, no CPU, disk, or any other resource is required to create. It is useful to know if certain indexes can improve performance for problematic queries, as you can know if Tantor will use those indexes or not without having to spend resources creating them.

mchar - designed to improve 1C Enterprise support, most popular Russian CRM and ERP system. It implements types MCHAR and MVARCHAR, which are bug-to-bug compatible with MS SQL CHAR and VARCHAR respectively. Additionally, these types use the ICU library for comparison and case conversion, so their behavior is identical across different operating systems. Tantor DBMS also includes citext extension which provides types similar to MCHAR. But this extension doesn’t emulate MS-SQL behavior concerning end-of-value whitespace.

online_analyze - performs activation of statistic collection right after INSERT/UPDATE/DELETE/SELECT INTO for involved tables.

page_repair - designed to repair separate corrupted pages using backup data from the replication server. It allows saving reparation time as it does not require reparation of all data, but separate pages.

pg_cron - represents a cron-based job scheduler working within the database as an extension. It uses the same syntax as regular cron, but it allows scheduling Tantor DBMS commands directly from the database.

pg_hint_plan - allows configuring plans of SQL queries execution using so called "hints" in SQL comments. This gives an opportunity to compensate the scheduler errors occurring in critical cases.

pg_repack - removes bloat from tables and indexes, and optionally restores the physical order of clustered indexes. Unlike CLUSTER and VACUUM FULL it works online, without holding an exclusive lock on the processed tables during processing.

pg_store_plans - provides the means to keep track of the execution plan statistics for all SQL statements executed by the Tantor server.

pg_wait_sampling - provides information about current waiting event for a certain process. However, to collect a descriptive statistics of server behaviour a user must repeatedly collect the current waiting event. This module represents an extension for collecting sample statistics of waiting events that prevent needless sampling of the current event waiting.

pgaudit - provides detailed session and/or object audit logging via the standard Tantor DBMS logging facility. The goal of the pgAudit is to provide Tantor DBMS users with capability to produce audit logs often required to comply with government, financial, or ISO certifications.

plantuner - provides a possibility to manage the scheduler by providing prompts that make the optimizer partially ignore its algorithm.

pgauditlogtofile - is an addon to pgAudit than will redirect audit log lines to an independent file, instead of using PostgreSQL server logger. This will allow us to have an audit file that we can easily rotate without polluting server logs with those messages. Audit logs in heavily used systems can grow very fast. This extension allows to automatically rotate the files based in a number of minutes.

transp_anon (transparent anonymization) - is an extension to mask or replace personally identifiable information or commercially sensitive data from a PostgreSQL database.

3.5. Additionally supplied programs #

  • Tantor Platform: full-featured modular platform for administration and monitoring of Tantor RDMS and most PostgreSQL based clusters. The platform simplifies daily RDBMS operation with significant impact on the RDBMS management simplicity. The software functionality includes: smart and simple user interface, cluster automatic adaptive tuning, system overview, alerts and monitoring, automatic health checks and schema audit, maintenance tasks resolution through the GUI, advanced query profiling, and administering multiple servers in one place;

  • pg_anon: is a standalone Python program to work with Tantor RDMS or PostgreSQL based DB to perform data masking and anonymization during data migration between production and test environments;

  • wal-g: is a tool for making encrypted, compressed Tantor SE-1C backups (full and incremental) and push/fetch them to/from storage without saving it on your filesystem;

  • pg_configurator: is a PostgreSQL configuration tool;

  • pg_cluster: is an Ansible playbook for PostgreSQL high availability cluster on Patroni.

3.6. Release Notes #

The first release of Tantor SE-1C is 16.2.1. Significant changes can be found on the related page.

All other changes see in Release Notes.

3.7. How to configure Tantor SE-1C parameters for 1C #

Detailed information on how to optimally configure the Tantor SE-1C parameters for working with 1C can be found on the page.