Michael Paquier - PostgreSQL committer

  • Home
  • Manuals
  • Presentations
  • Projects
  • Resume
  • Tags
  • About

Manipulating jsonb data by abusing of key uniqueness

2014-06-22 15:04:23 +0000

The [jsonb datatype] (https://www.postgresql.org/docs/devel/static/datatype-json.html) newly introduced in Postgres 9.4 has a property that makes its manipulation rather facilitate when doing operations on it with embedded functions: it does not allow duplicated object keys. On the contrary, json allows that as you can see here:

Read more...

Postgres 9.4 feature highlight - GiST operator class for inet and cidr datatypes

2014-06-15 13:07:29 +0000

Postgres 9.4 is adding a new in-core GiST operator class for the [inet and cidr] (https://www.postgresql.org/docs/9.4/static/datatype-net-types.html#DATATYPE-INET) datatypes. It has been introduced by this commit:

Read more...

Chain reaction with logical replication

2014-06-05 13:36:12 +0000

Working with logical replication and a cluster of nodes heavily linked among each other can result in particularly disturbing results. If a logical change is received on a node that itself regenerates additional changes, it is really easy to finish with an uncontrolable chain reaction.

Read more...

Postgres 9.4 feature highlight - Logical replication receiver

2014-05-30 13:35:29 +0000

These last couple of days I have been developing for studies a background worker able to fetch changes from a logical decoder already developed and presented on this blog called [decoder_raw] (https://github.com/michaelpq/pg_plugins/tree/master/decoder_raw) able to generate raw queries based on the logical changes decoded on server from its WAL. This receiver, called [receiver_raw] (https://github.com/michaelpq/pg_plugins/tree/master/receiver_raw) runs as a background worker that connects to a node running decoder_raw using a replication connection and then fetches decoded logical changes from it, which are in this case ready-to-be-applied raw queries. Those changes are then applied on the database one by one using the [SPI] (https://www.postgresql.org/docs/devel/static/spi.html) through a loop process that sleeps during a customizable amount of nap time. Note that receiver_raw is actually designed to be performant as it applies one single batch of changes using only one transaction in a single loop process. That’s the best doable particularly for long transactions.

Read more...

Postgres 9.4 feature highlight - Logical replication protocol

2014-05-22 05:28:17 +0000

When developing a logical change receiver with the new [logical decoding] (https://www.postgresql.org/docs/devel/static/logicaldecoding.html) facility of Postgres 9.4, there are a couple of new commands and a certain libpq protocol to be aware of before beginning any development for a logical replication receiver (on top of knowing some [basics] (/postgresql-2/postgres-9-4-feature-highlight-basics-logical-decoding/) and what is an [output decoder plugin] (/postgresql-2/postgres-9-4-feature-highlight-output-plugin-logical-replication/)). Here is an exhaustive list of the commands to know.

Read more...

« Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Next »

Search

Social

Github

Mastodon

Twitter

RSS Feeds

Main

Postgres

Sponsor

Unless otherwise specified, the contents of this website are (C)Copyright Michael Paquier 2010-2023 and are licensed for use under CC BY-SA 3.0.