title

text

Ronan Dunklau
Ronan Dunklau Dalibo
09:00 05 February
45 мин

Multicorn: writing FDWs in Python

Multicorn is a generic Foreign Data Wrapper which goal is to simplify development of FDWs by writing them in Python.

We will see:

  • what is an FDW what Multicorn is trying to solve how to use it, with a brief tour of the FDWs shipping with Multicorn.
  • how to write your own FDW in python, including the new 9.5 IMPORT FOREIGN SCHEMA api.
  • the internals: what Multicorn is doing for you behind the scenes, and what it doesn't

After a presentation of FDWs in general, and what the Multicorn extension really is, we will take a look at some of the FDWs bundled with Multicorn.

Then, a complete tour of the Multicorn API will teach you how to write a FDW in python, including the following features:

  • using the table definition
  • WHERE clauses push-down
  • output columns restrictions
  • influencing the planner
  • writing to a foreign table
  • IMPORT FOREIGN SCHEMA
  • ORDER BY clauses pushdown
  • transaction management

This will be a hands-on explanation, with code snippets allowing you to build your own FDW in python from scratch.

Слайды

Видео

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

  • Евгений Сергеев
    Евгений Сергеев
    45 мин

  • Heikki Linnakangas
    Heikki Linnakangas Pivotal

    Index internals

    PostgreSQL includes several index types: GiST, SP-GiST, GIN, and of course, the regular B-tree. DBAs are familiar with using each of these for specific use cases, GIN for full-text search, GiST for geometrical data, and so on, but how do they work internally? What makes them suitable for the cases they're typically used for?

    In this presentation, I will walk through the internal structure of each of these index types, explaining what strengths and weaknesses each one of them have.

  • Konstantin Knignik
    Konstantin Knignik Postgres Professional

    Distributed transaction manager for PostgreSQL cluster

    Enterprises need enterprise-level databases. The existing Postgres clustering solutions are not supported by the community. Postgres needs a community-supported cluster solution. There have been multiple attempts like Postgres-XC/XL, but they are still being developed separately and have low chance to be accepted by the community. Other solutions, like pg_shard, plproxy, FDW-based, etc. lack the notion of global transactions. We developed a Distributed Transaction Manager (DTM) as a Postgres extension to achieve global consistency over a number of Postgres instances. To demonstrate the capabilities of the DTM we present examples of distributed transaction processing using pg_shard and postgres_fdw. We hope that the proposed approach will be included into Postgres 9.6. This will make the development of the clustering solutions easier for all interested parties.

  • Алексей Лесовский
    Алексей Лесовский PostgreSQL Consulting LLC
    180 мин