Michael Paquier - PostgreSQL committer

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

Postgres 9.5 feature highlight - pg_receivexlog improvements with fsync

2014-08-11 08:27:27 +0000

pg_receivexlog is an in-core utility of Postgres able to recover WAL files through a stream using the replication protocol. It is particularly useful when for example using it to transfer some WAL files to a proxy node when standby node cannot connect directly to a root node for whatever reason. The standby can then replay the WAL files obtained. The reliability of this utility has been improved in Postgres 9.5 with the following commit:

Read more...

Dynamic tracing with Postgres

2014-07-28 01:44:28 +0000

Postgres has in-core support for [Dynamic tracing] (https://www.postgresql.org/docs/devel/static/dynamic-trace.html), which is the possibility to use an external utility to track specific code path calls and have an execution trace at disposition for further analysis. Enabling this feature can be done when compiling code by specifying –enable-dtrace at [configure] (https://www.postgresql.org/docs/devel/static/install-procedure.html) step. Note as well that on Linux systems you will need systemtap installed (development package for compilation may be needed depending on your platform) to be able to compile code with this support, and extra kernel-level packages like kernel-devel to be able to take traces. In order to check if your installation is able to do dynamic tracing, for example simply run the following “Hello World” command.

Read more...

Postgres 9.5 feature highlight - Display failed queries in psql

2014-07-19 12:52:43 +0000

Postgres 9.5 is coming up with a new ECHO mode for [psql] (https://www.postgresql.org/docs/devel/static/app-psql.html) that has been introduced by this commit:

Read more...

Postgres 9.5 feature highlight - IMPORT FOREIGN SCHEMA

2014-07-11 13:47:43 +0000

[IMPORT FOREIGN SCHEMA] (https://www.postgresql.org/docs/devel/static/sql-importforeignschema.html) is a SQL query defined in the SQL specification allowing to import from a foreign source a schema made of foreign tables. Its support has been added in Postgres 9.5 with the following commit:

Read more...

Postgres 9.5 feature highlight - WHERE clause pushdown in subqueries with window functions

2014-07-04 13:47:29 +0000

Postgres 9.5 is going to improve the performance of subqueries using window functions by allowing the pushdown of WHERE clauses within them. Here is a commit, done during commit fest 1, that is the origin of this improvement:

Read more...

Postgres 9.5 feature highlight - Tracking processes with cluster_name

2014-06-30 13:51:29 +0000

Here is a small feature that has showed up during the [first commit fest] (https://commitfest.postgresql.org/action/commitfest_view?id=22) of Postgres 9.5 allowing to add complementary information in the process names displayed by a server:

Read more...

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...

« 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 Next »

Search

Links

Github

Twitter

RSS Feeds

Main

Postgres

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