title

text

Bruce Momjian
Bruce Momjian EnterpriseDB
: December
45 мин

Unlocking the Postgres Lock Manager

Locking is critical for providing high concurrency for any database — you cannot fully utilize your hardware if locking is throttling its use. This talk explores all aspects of locking in Postgres by showing queries and their locks; covered lock types include row, table, shared, exclusive, and advisory lock types. The high concurrency provided by Multiversion Concurrency Control (MVCC) is also covered.

Slides are at https://momjian.us/main/writings/pgsql/locking.pdf

Слайды

Видео

Другие доклады

  • Valery Popov
    Valery Popov Postgres Professional
    Николай Чадаев
    Николай Чадаев Postgres Professional
    45 мин

    Building protected databases using mandatory access control in PostgreSQL

    Role-based access control (RBAC) is one of the main mechanisms used for access control in many DBMS, including PostgreSQL. This model is a sub-type of traditional discretionary access control with its restrictions. In addition to DAC, many operating systems also use mandatory access control (MAC) based on security labels. This additional security mechanism is obligatory for protecting information that demands higher levels of security. Naturally, we would like to use MAC within DBMS when working in OS with mandatory access control switched on.
    In this talk, we'll give an overview of existing MAC implementations in DBMS, as well as share our approach to using security mechanisms provided by SELinux, the sepgsql extension for PostgreSQL, and the standard mechanism of row-level security (RLS), which has been available in PostgreSQL starting from version 9.5.
    In our presentation, we will use the "Airlines" demo database provided by the Postgres Professional company to show how to protect sensitive information and personal data, compare different ways of storing security labels, and assess performance of our solution.

  • Владимир Алешин
    Владимир Алешин Avito
    45 мин

    Stored procedures as code

    We will discuss stored procedures and functions, as well as the code within the database in general. We'll take a look at stored procedures from different angles: as a DBA, a database developer, and a backend developer. We will try to understand the specifics of stored procedures that often go against the common coding guidelines, and discuss best practices for working with stored procedures.
    This is mainly a motivational talk for database and backend developers, not an advanced tech talk.

  • Vadim Ipatov
    Vadim Ipatov Zabbix SIA
    Daria Vilkova
    Daria Vilkova Postgres Professional
    45 мин

    Plugin for PostgresSQL monitoring for new zabbix-agent

    In Zabbix-server 4.4, a new Zabbix-agent has become available. It is written in Golang, has a plug-in structure, keeps a permanent connection and makes it possible to control metrics in runtime. We will make an overview of the Zabbix-agent 2 and talk about how to develop plugins for it, in particular, the PostgreSQL monitoring plugin developed by Postgres Professional in collaboration with Zabbix.

  • Rustam Abdrakhimov
    Rustam Abdrakhimov ООО Форс-Телеком
    Alexander Liubushkin
    Alexander Liubushkin ООО "ФОРС Телеком"
    90 мин

    Development of WEB-applications for Postgres using the new tool - Live Universal Interface (LUI)

    Will be demonstrated in the master-class the following: 1). The benefits of declarative programming. Rapid creation of complex LUI-forms using only SQL. 2). Support for long transactions and automatic locks. An example of a wizard with a record directly in the database. 3). The multilingual fields and columns. Rapid inclusion of multilingualism in existing forms. 4). Control the coloring of data in fields and columns of the form. Typical examples. 5). Live search in input fields using the example of address input. 6). How to configure the LUI to enter and display of application-specific data. 7). Design form Master Detail with retrieving data from two different databases. 8). How end-user builds of complex data queries without using SQL.