Andres  Freund
Andres Freund Citus Data
12:00 04 February
45 мин

Improving Postgres' Buffer Manager

Postgresql's buffer manager has parts where it's showing its age. We'll discuss how it currently works, what problems there are, and what attempts are in progress to rectify its weaknesses.

  • Lookups in the buffer cache are expensive
  • The buffer mapping table is organized as a hash table, which makes efficient implementations of prefetching, write coalescing, dropping of cache contents hard
  • Relation extension scales badly
  • Cache replacement is inefficient
  • Cache replacement replaces the wrong buffers



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

  • Pavel Stehule
    Pavel Stehule

    The stored procedures in PostgreSQL, PL/pgSQL

    • the architecture
    • the design and implementation of PL/pgSQL
    • the difference between PL/SQL and PL/pgSQL
    • the advantage and issues of PL/pgSQL

  • Michael  Paquier
    Michael Paquier

    PostgreSQL and backups

    A backup is something that no Postgres deployments should go without as it gives the insurance to get back a deployment on its feet should a disaster strike.

    In this talk we will discuss why backups are essential in any sane PostgreSQL deployments (this seems obvious) and what are the different options available to define and set up a good backup strategy. On top of that is discussed how the future of backups would need to be handled, particularly regarding differential backups that gain in popularity among users with large deployments.

  • Konstantin Evteev
    Konstantin Evteev X5 FoodTech
    45 мин
  • Vladimir  Sitnikov
    Vladimir Sitnikov Pgjdbc, JMeter committer
    22 мин

    PostgreSQL and JDBC: striving for high performance

    Common Java wisdom is to use PreparedStatements and Batch DML in order to achieve top performance. It turns out one cannot just blindly follow the best practices. In order to get high throughput, you need to understand the specifics of the database in question, and the content of the data.

    In the talk we will see how proper usage of PostgreSQL protocol enables high performance operation while fetching and storing the data. We will see how trivial application and/or JDBC driver code changes can result in dramatic performance improvements. We will examine how server-side prepared statements should be activated, and discuss pitfalls of using server-prepared statements.