title

text

February 05 – 07 , 2018

PGConf.Russia 2018

PGConf.Russia is a leading Russian PostgreSQL international conference, annually taking together more than 500 PostgreSQL professionals from Russia and other countries — core and software developers, DBAs and IT-managers. The 3-day program includes training workshops presented by leading PostgreSQL experts, more than 40 talks, panel discussions and a lightning talk session.

Thems

  • PostgreSQL at the cutting edge of technology: big data, internet of things, blockchain
  • New features in PostgreSQL and around: PostgreSQL ecosystem development
  • PostgreSQL in business software applications: system architecture, migration issues and operating experience
  • Integration of PostgreSQL to 1C, GIS and other software application systems.
  • more than
    0 participants
  • 0 speakers
  • 0
    minutes of conversation
  • 54 talks
  • offline
    format

Talks

Talks archive

PGConf.Russia 2018
  • Ivan Frolkov
    Ivan Frolkov PostgresPro

    Apart from its main purpose of scheduling tasks, pgpro_scheduler can also deal with chained transactions. It can be used in various scenarios of asynchronous data processing.

    This tutorial demonstrates pgpro_scheduler features that ensure secure processing of chained transactions. We'll be using cryptocurrency transactions as an example.

    pgpro_scheduler is included into Postgres Pro Enterprise as an extension.

  • Bruce Momjian
    Bruce Momjian EnterpriseDB

    Developers are often challenged to deliver results that are hard to implement using simple SQL queries. Fortunately, complex SQL capabilities exist in the SQL standards — common table expressions and window functions.

    SQL is a declarative language, meaning the user submits an SQL command and the database determines the optimal execution. Common Table Expressions (CTEs) allow queries to be more imperative, allowing looping and processing hierarchical structures that are normally associated only with imperative languages.

    Normal SQL queries return rows where each row is independent of the other returned rows. SQL window functions allow queries to return computed columns based on values in other rows in the result set.

    This tutorial will help developers use CTE queries in their applications and allow operations that normally could only be done in application code to be done via SQL queries. It also explains the many window function facilities and how they can be used to produce useful SQL query results.

    Video

    Part I «Programming the SQL Way with CTE»


    Part II «Postgres Window Magic»


  • Alex Lustin
    Alex Lustin SilverBulleters, LLC

    I would like to share experience in runing PostgreSQL in dockerized environments, describe the specific issues and tools you will need to solve them.

    • Which problems could be solved by Docker for PostgreSQL, e.g. PostgreSQLPro.9.6
    • Work of IT team with Docker in development, testing and production environments
      • Using image repository and build servers for image testing
    • Issues in production environment:
      • With network activity
      • With persistent repositories for Docker
      • With additional services
      • With load balancing and fail-safety
    • Running PostgreSQL-base applications, such as:
      • SonarQube
      • Gitlab
      • 1С platform

  • Oleg Bartunov
    Oleg Bartunov PostgresPro
    Nikita Glukhov
    Nikita Glukhov PostgresPro

    Jsonb is a popular data type in PostgreSQL, it provides the web developers an ability to work with ubiquitous json inside the database and use all the power of proven relational database. Fast querying of jsonb data is a challenge for database and PostgreSQL provides several options for indexing jsonb. We present the new way of efficient indexing of jsonb, based on improvement of indexing infrastructure.

    It's known, that json is a greedy data type, it may contains many auxiliary data not interesting for searching and that affects the size of index. Partial index will not helps, since it filters the rows before indexing, while we are interested in extracting of parts of jsonb. Functional indexes on specific keys could introduce too big overhead. We present an improvement of indexing infrastructure, which allows to control the index behaviour by passing parameters to operator class at index creation. For example, to index a user-defined subset of jsonb it is possible to pass to operator class the powerful path expression (either jsonpath of upcoming sql/json or jspath from jsquery extension), which can be used to extract the parts of jsonb tree. That makes index more effective and reduces the overhead of its maintaining.

    Another use of parameterized operator classes is to allow a user to specify parameters instead of hard coding them, for example, the GiST signature size is currently hard coded inside the implementations of several opclasses (tsvector, hstore, intarray, pg_trgm, ltree), while it is natural to use different signature length for different data to have optimal size of index and its performance.

    Full text search on parts of document can be improved by passing labels to the operator class and letting him index only specified parts of document, that allow to avoid currently used recheck of the rows returned by the index.

All talks

Partners

PGConf.Russia 2018

Silver

Organizational

Informational

Partner