rssed

a collection of dev rss feeds - blogroll

Add a new feed

+

321 feeds


Dimitri Fontaine

Posts

pgcopydb v0.18 đź”—

Hot off the press: pgcopydb v0.18 is out! It’s the biggest release the project has had — 88 commits since v0.17, which shipped in August 2024. I took [...]

About Dimitri Fontaine đź”—

Dimitri, picture by Oleg Bartunov I am a PostgreSQL developer, author, and open-source builder based near Paris. Most of what I have done professional [...]

Postgres HA: roles are dynamic đź”—

High-Availability comes with some impact on your architecture choices, in particular when applied to RDBMS such as Postgres. One such impact is the id [...]

An introduction to the pg_auto_failover project đź”—

We just released pg_auto_failover version 1.6.3 on GitHub, and the binary packages should be already available at the usual PGDG and CitusData places, [...]

PostgreSQL as a Microservice đź”—

The MACI French podcast honoured me with an invitation to a guest appearance on their weekly schedule. As you can imagine, we talked about many things [...]

Message à caractère informatique #46: Faire Le Tri Dans Ses Relations 🔗

In this PodCast Episode we talk about newsworthy items selected by the MACI team, and then about some of my work such as my book The Art of PostgreSQL [...]

2020: Online Conferences đź”—

Among a lot of other changes, the year 2020 brings Online Conferences to us. In the Postgres community too we now record our talks at home and send a [...]

Postgres Thursday s01e04: Dimitri Fontaine. The Art of PostgreSQL; pg_auto_failover đź”—

In this interview we dive in my book The Art of PostgreSQL and then in the High Availability and automated failover solution that I work on, pg_auto_f [...]

List PostgreSQL tables using extensions đź”—

Postgres has extensions, and that’s awesome! Of course as the author of CREATE EXTENSION I’m a little biased… just remember that the ability to extend [...]

Postgres Open đź”—

As a developer using PostgreSQL one of the most important tasks you have to deal with is modeling the database schema for your application. In order t [...]

Postgres Connection Strings and psql đź”—

PostgreSQL connection strings embedded in your application can take two different forms: the key-value notation or the postgresql:// URI scheme. When [...]

The Art Of PostgreSQL đź”—

I did it again! Today I am releasing the new edition of my book, with a new title: “The Art of PostgreSQL”. I’m very happy (and quite excited) to decl [...]

The Art of PostgreSQL đź”—

PostgreSQL is the World’s Most Advanced Open Source Relational Database and by the end of this talk you will understand what that means for you, an ap [...]

FOSDEM 2019: Data Modeling, Normalization, and Denormalisation đź”—

As a developer using PostgreSQL one of the most important tasks you have to deal with is modeling the database schema for your application. In order t [...]

Architectures PostgreSQL đź”—

Le domaine des bases de données se transforme depuis quelques années, avec en particulier de nouvelles offres autour des notions de NoSQL… Au point qu [...]

Preventing SQL Injections đź”—

An SQL Injection is a security breach, one made famous by the Exploits of a Mom xkcd comic episode in which we read about little Bobby Tables: Post [...]

PostgreSQL Conference Europe, 2018 đź”—

As a developer using PostgreSQL one of the most important tasks you have to deal with is modeling the database schema for your application. In order t [...]

PyConFr 2018 đź”—

Python is often used to maintain application backends. When the backend should implement user oriented workflows, it may rely on a RDBMS component to [...]

Geolocation with PostgreSQL đź”—

We have loaded Open Street Map points of interests in the article The Most Popular Pub Names — which compares PostgreSQL with MongoDB for simple geogr [...]

PostgreSQL Concurrency: an Article Series đź”—

PostgreSQL is a relational database management system. It’s even the world’s most advanced open source one of them. As such, as its core, Postgres sol [...]

Scheduled Data Processing: How to use cron? đź”—

A previous article in the PostgreSQL Concurrency series covered how to manage concurrent retweets in an efficient way: in Computing and Caching, we le [...]

Batch Updates and Concurrency đź”—

This article fits in the PostgreSQL Concurrency series, where we installed a tweeter like application schema and had all the characters from Shakespea [...]

PostgreSQL LISTEN/NOTIFY đź”—

This article fits in the PostgreSQL Concurrency series, where we installed a tweeter like application schema and had all the characters from Shakespea [...]

PostgreSQL Event Based Processing đź”—

In the previous article of the series Modeling for Concurrency, we saw how to model your application for highly concurrent activity. It was a follow-u [...]

Computing and Caching đź”—

Let’s continue to dive in PostgreSQL Concurrency. In the previous article of the series, Modeling for Concurrency, we saw how to model your applicatio [...]

Modeling for Concurrency đź”—

Let’s continue to dive in PostgreSQL Concurrency. Last week’s article PostgreSQL Concurrency: Isolation and Locking was a primer on PostgreSQL isolati [...]

PostgreSQL Concurrency: Isolation and Locking đź”—

PostgreSQL is a relational database management system. It’s even the world’s most advanced open source one of them. As such, as its core, Postgres sol [...]

PostgreSQL Concurrency: Data Modification Language đź”—

PostgreSQL is a relational database management system. It’s even the world’s most advanced open source one of them. As such, as its core, Postgres sol [...]

PostgreSQL Data Types đź”—

Today it’s time to conclude our series of PostgreSQL Data Types articles with a recap. The series cover lots of core PostgreSQL data types and shows h [...]

PostgreSQL at Chti'JUG đź”—

Le domaine des bases de données se transforme depuis quelques années, avec en particulier de nouvelles offres autour des notions de NoSQL… Au point qu [...]

PostgreSQL Data Types: Point đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce the PostgreSQL Point type. In order to put the Point datatype in a conte [...]

PostgreSQL Data Types: ENUM đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce the PostgreSQL ENUM type. This data type has been added to PostgreSQL in [...]

PostgreSQL Data Types: JSON đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce the PostgreSQL JSON type. PostgreSQL has built-in support for JSON with [...]

PostgreSQL Data Types: XML đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce the PostgreSQL XML type. The SQL standard includes a SQL/XML which intro [...]

PostgreSQL Data Types: Arrays đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce the PostgreSQL array data types. Arrays can be used to denormalize data [...]

PostgreSQL Data Types: Ranges đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce the PostgreSQL ranges data type. Range types are a unique feature of Pos [...]

PostgreSQL Data Types: Network Addresses đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce network address types. PostgreSQL includes support for both cidr, inet, [...]

PostgreSQL Data Types: Date and Time Processing đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce date and time based processing functions. Once the application’s data, o [...]

PostgreSQL Data Types: Text Processing đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce some of the PostgreSQL text processing functions. There’s a very rich se [...]

PostgreSQL Data Types: Text Encoding đź”—

Continuing our series of PostgreSQL Data Types today we’re going to introduce the PostgreSQL text data type. The first notion to understand when proce [...]

PostgreSQL Data Types: an intro đź”—

Today, we’re going to begin a dive into the PostgreSQL Data Types. As my colleague Will Leinweber said recently in his talk Constraints: a Developer’s [...]

Object Relational Database Management System đź”—

PostgreSQL is the world’s most advanced open source database, and per the PostgreSQL Wikipedia page it is an object-relational database management sys [...]

Nordic pgDay 2018 đź”—

As a developer using PostgreSQL one of the most important tasks you have to deal with is modeling the database schema for your application. In order t [...]

Database Normalization and Primary Keys đź”—

In our previous article we saw three classic Database Modelization Anti-Patterns. The article also contains a reference to a Primary Key section of my [...]

Database Modelization Anti-Patterns đź”—

Next week we see two awesome PostgreSQL conferences in Europe, back to back, with a day in between just so that people may attend both! In chronologic [...]

Sustainable Open Source Development đź”—

Current trend in software deployments is to rely on open source software for entire production stacks. You can find open source software in the core t [...]

Find the number of the longest continuously rising days for a stock đź”—

Today I want to react to an article that claims that Relational Algebra Is the Root of SQL Problems in which the author hand-waves the following posit [...]

Exporting a Hierarchy in JSON: with recursive queries đź”—

In another article here, entitled on JSON and SQL, we saw in great details how to import a data set only available as a giant JSON file. Then we norma [...]

A Year in Review: Most Read Articles in 2017 đź”—

It seems to be usual nowadays to review the previous year, and readers apparently like Top-N Lists — that’s you now, so let’s hope that my understandi [...]

Working at Citus Data đź”—

You might have read it in the news already in Citus’ blog post by Sumedh Pathak: PostgreSQL Expert Dimitri Fontaine joins Citus Data. I am very happy [...]

Migrating to PostgreSQL, the White Paper đź”—

After having been involved in many migration projects over the last 10 years, I decided to publish the following White Paper in order to share my lear [...]

Submit a Talk to pgDay Paris Today! đź”—

pgDay Paris 4th edition happens March 15, 2018! And the Call for Papers is still open, as it closes with the year: the submission deadline is December [...]

Setting up psql, the PostgreSQL CLI đź”—

PostgreSQL ships with an interactive console with the command line tool named psql. It can be used both for scripting and interactive usage and is mor [...]

Mastering PostgreSQL: a reader's interview đź”—

Florent Fourcot has read Mastering PostgreSQL in Application Development and has seen tremendous inprovements in his production setup from reading the [...]

Mastering PostgreSQL: more about the docker image đź”—

The Enterprise Edition of Mastering PostgreSQL in Application Development ships with a docker image that hosts both a PostgreSQL server instance with [...]

Queen, Princesses, and Workers đź”—

The PostgreSQL community made the explicit choice some times ago that they would not use the infamous master and slave terminology. Instead, the docum [...]

Scaling Python released đź”—

Today I am very pleased to announce the release of the book Scaling Python from my good friend Julien Danjou! As Julien says, Python applications can [...]

Simple Data Modeling with a Test Data Set đź”—

In How to Write SQL we saw how to write SQL queries as separate .sql files, and we learnt about using query parameters with the psql syntax for that ( [...]

The Mode Ordered-Set Aggregate Function đź”—

In our article Exploring a Data Set in SQL we discovered a data set related to music: the Chinook sample database. Our discovery led us to find albums [...]

What's in a name: “Mastering” 🔗

Now that my book Mastering PostgreSQL in Application Development is released (and selling well, thanks guys!), I’ve had some questions about the title [...]

Mastering PostgreSQL in Application Development launches! đź”—

Today is the day my book Mastering PostgreSQL in Application Development launches! I’m all excited that everybody interested is now able to actually r [...]

PostgreSQL Conference Europe 2017 đź”—

pgloader, your migration companion Migrating data from another RDBMS to PostgreSQL should be really easy. After all it’s all relations and tables an [...]

Set Returning Functions and PostgreSQL 10 đź”—

PostgreSQL 10 is now available for everyone to use, and hinted by David Fetter I had to review my previous article on Json and SQL to adapt to Set Ret [...]

on Json and SQL đź”—

PostgreSQL has had proper json support for a while now. The unique extensibility approach of the PostgreSQL system allows it to enable native SQL frie [...]

Mastering PostgreSQL in Application Development đź”—

Mastering PostgreSQL in Application Development is the full title of the book I am currently writing. Running the PostgreSQL is YeSQL series of blog p [...]

Regular Expressions and Grouping Sets đź”—

There’s a very rich set of PostgreSQL functions to process text, you can find them all at the String Functions and Operators documentation chapter, wi [...]

SQL Regression Tests đź”—

In a previous article here we saw How to Write SQL in your application code. The main idea in that article is to maintain your queries in separate SQL [...]

from MySQL to PostgreSQL đź”—

Today pgloader v3.4.1 is released and available! This new release comes with 110 commits as show in github compare view. This release of pgloader is f [...]

Playing with Unicode đź”—

The reason why I like Unicode a lot is because it allows me to code in text based environments and still have nice output. Today, we’re going to play [...]

PostgreSQL and the calendar đź”—

The modern calendar is a trap for the young engineer’s mind. We deal with the calendar on a daily basis and until exposed to its insanity it’s rather [...]

SQL and Business Logic đź”—

Business logic is supposed to be the part of the application where you deal with customer or user facing decisions and computations. It is often argue [...]

Exploring a Data Set in SQL đź”—

Sometimes you need to dive in an existing data set that you know very little about. Let’s say we’ve been lucky to have had a high level description of [...]

How to Write SQL đź”—

Kris Jenkins cooked up a very nice way to embed SQL in your code: YeSQL for Clojure. The main idea is that you should be writing your SQL queries in . [...]

Find The Missing Integer đź”—

A recent interview question that I had to review was spelled like this: Find missing int element into array 1..100 Of course at first read I got it wr [...]

Mastering PostgreSQL in Application Development đź”—

I am writing a book to share my knowledge about how to best use PostgreSQL as an application developer. If you’ve evered ask yourself how much should [...]

PGConf US 2016 đź”—

PostgreSQL Conference US took place in New York City and I had the pleasure to be a speaker there. I presented there a talk about why You’d Better Hav [...]

PostgreSQL Conference US, 2016 đź”—

You’d better have tested backups explains why you must implement an automated recovery solution rather than merely backup scripts. Noboday cares about [...]

All Your Base Conference 2015 đź”—

I had the pleasure to be invited to speak at All Your Base Conference 2015 about PostgreSQL (of course). The conference gathers together lots of user [...]

All Your Base Conference 2015 đź”—

The database landscape has changed a lot in the recent years. The NoSQL movement has taken the world by storm and you may wonder if there is still roo [...]

PostgreSQL au JUG de Montpellier đź”—

J’ai eu le plaisir de présenter PostgreSQL au Java User Group de Montpellier le 20 mai dernier dans le cadre d’une soirée PostgreSQL is YeSQL. L’accue [...]

PostgreSQL at Montpellier's JUG đź”—

PostgreSQL Extensions is a tutorial that shows how to solve some real use cases with a practical use of Extension. The PostgreSQL is YeSQL! presentati [...]

Quicklisp and debian đź”—

Common Lisp users are very happy to use Quicklisp when it comes to downloading and maintaining dependencies between their own code and the librairies [...]

pgDay Paris đź”—

Le 21 avril prochain se tient le premier pgDay Paris: une conférence PostgreSQL d’une journée complète. Il s’agit de 8 conférences sur votre base de d [...]

Nordic PostgreSQL Day 2015 đź”—

The PostgreSQL for Developers talk begins with a simple use case for developers to solve entirely in SQL. Discover SQL window functions if you don’t k [...]

a pgDay in Paris! đź”—

I was lucky to participate as a speaker to the Nordic PostgreSQL Day 2015 and it’s been another awesome edition of the conference. Really smooth, ever [...]

Back From FOSDEM 2015 đź”—

The FOSDEM 2015 edition has been awesome this year, the usual mix of meeting with old friends, talking about interesting topics, seeing tremendous act [...]

PostgreSQL FOSDEM 2015 đź”—

Backups are not interesting. Don’t make backups. Instead, set-up an all automatic data restoring facility, that you can use in nightly scripts or inte [...]

My First Slashdot Effect đź”—

Thanks to the Postgres Weekly issue #89 and a post to Hacker News front page (see Pgloader: A High-speed PostgreSQL Swiss Army Knife, Written in Lisp [...]

New release: pgloader 3.2 đź”—

PostgreSQL comes with an awesome bulk copy protocol and tooling best known as the COPY and \copy commands. Being a transactional system, PostgreSQL CO [...]

PostgreSQL Conference Europe 2014 đź”—

You’d better have tested backups explains why you must implement an automated recovery solution rather than merely backup scripts. Noboday cares about [...]

Meetup PostgreSQL Ă  Paris đź”—

Mercredi 8 octobre se tiendra le prochain Meetup PostgreSQL à Paris dans les locaux de Mozilla Europe, dont la capacité est de 90 personnes ! Venez no [...]

Postgres Open 2014, Chicago đź”—

A ligthning talk about pgcharts, a tool to turn your SQL queries into charts, and share the result. The PostgreSQL for Developers talk begins with a s [...]

PHP Tour, La Video đź”—

En juin dernier se tenait le PHP Tour 2014 à Lyon, où j’ai eu le plaisir de présenter une conférence sur PostgreSQL en 2014. [...]

Going to Chicago, Postgres Open đź”—

Next month, Postgres Open 2014 is happening in Chicago, and I’ll have the pleasure to host a tutorial about PostgreSQL Extensions Writing & Using Post [...]

Turn your PostgreSQL queries into Charts đź”—

Earlier this year we did compare compare Aggregating NBA data, PostgreSQL vs MongoDB then talked about PostgreSQL, Aggregates and histograms where we [...]

CHAR(14) đź”—

A lightning talk about pgLoader and the wide range of input formats it accepts, from CSV to advanced database migration from MS SQL or MySQL to Postgr [...]

PHP Tour 2014 đź”—

En début de semaine se tenait le PHP Tour 2014 à Lyon, et j’ai eu le privilège d’y être invité afin de présenter comment Utiliser PostgreSQL en 2014. [...]

PHP Tour Lyon 2014 đź”—

Une présentation des particularités de PostgreSQL, et pourquoi ce système de gestion de bases de données relationnelles reste d’actualité quand on fai [...]

Conférences Françaises 🔗

Ce mois-ci est particulièrement actif en terme de conférences françaises, puisqu’après un détour à Toulon pour les PGDay.fr nous avons un Meetup à Par [...]

PGDay FR 2014 đź”—

Une présentation de pgloader, utilitaire de chargement de données qui prend égalemment en charge des migrations complètes depuis MySQL ou encore MS SQ [...]

Why is pgloader so much faster? đź”—

pgloader loads data into PostgreSQL. The new version is stable enough nowadays that it’s soon to be released, the last piece of the 3.1.0 puzzle being [...]

7th European Lisp Symposium đź”—

A lightning talk about pgloader and why I chose to rewrite it enterily, switching from Python to Common Lisp. TL;DR — I wanted a Modern Programming La [...]

New York! đź”—

A couple of week ago I had the chance to participate into the PGConf NYC 2014 Conference, one of the biggest conferences about PostgreSQL worldwide. I [...]

Meetup PostgreSQL Ă  Paris đź”—

Hier soir se déroulait le troisième Meetup PostgreSQL à Paris, et je crois pouvoir dire que tous les participants étaient ravis de cette édition. Malh [...]

PGConf NYC 2014 đź”—

The PostgreSQL for Developers talk begins with a simple use case for developers to solve entirely in SQL. Discover SQL window functions if you don’t k [...]

Nordic PostgreSQL Day 2014 đź”—

Last week some PostgreSQL users, contributors and advocates have organized a really great conference in Stockholm, Sweden, where I had the please to g [...]

Nordic PostgreSQL Day 2014 đź”—

PostgreSQL is YeSQL! is a presentation that targets developers and show some advanced SQL everybody should be familiar with… but usually aren’t. [...]

PostgreSQL, Aggregates and Histograms đź”—

In our previous article Aggregating NBA data, PostgreSQL vs MongoDB we spent time comparing the pretty new MongoDB Aggregation Framework with the deca [...]

Aggregating NBA data, PostgreSQL vs MongoDB đź”—

When reading the article Crunching 30 Years of NBA Data with MongoDB Aggregation I coulnd’t help but think that we’ve been enjoying aggregates in SQL [...]

PostgreSQL FOSDEM Conference đź”—

Back from the FODESM 2014 Conference, here’s the slides I’ve been using for the Advanced Extension Use Cases talk I gave, based on the ongoing work to [...]

PostgreSQL FOSDEM 2014 đź”—

This talk is about Advanced Uses Cases for PostgreSQL Extensions. It shows how to use extensions to solve practical problems such as geolocation or te [...]

FOSDEM 2014 đź”—

This year again the PostgreSQL community is organising a FOSDEM PGDay rigth before the main event. Have a look at the PostgreSQL FOSDEM Schedule, it’s [...]

PostgreSQL User Group Paris đź”—

Notre première rencontre des utilisateurs Parisiens de PostgreSQL avait eu lieue le 28 novembre 2013 et a fait l’objet d’un billet de présentation ici [...]

El-Get is now Rolling Releases đź”—

The code of El-Get has been pretty stable for a long time now. About the whole set of patches against the 4.x series has been about bug fixing corner [...]

Groupe d'Utilisateurs PostgreSQL Ă  Paris đź”—

Comme annoncé dans un mail sur la liste de diffusion pgsql-fr-generale j’ai le plaisir de démarrer un groupe de rencontres PostgreSQL à Paris ! Les dé [...]

Import fixed width data with pgloader đź”—

A long time ago we talked about how to Import fixed width data with pgloader, following up on other stories still online at Postgres OnLine Journal an [...]

Migrating Sakila from MySQL to PostgreSQL đź”—

As presented at the PostgreSQL Conference Europe the new version of pgloader is now able to fully migrate a MySQL database, including discovering the [...]

Back From Dublin đź”—

Last week I had the pleasure to present two talks at the awesome PostgreSQL Conference Europe. The first one was actually a tutorial about Writing & u [...]

PostgreSQL Conference Europe 2013 đź”—

The first talk covers migrating from MySQL to PostgreSQL in a single command line thanks to pgloader, your migration companion. The second talk is a 3 [...]

Denormalizing Tags đź”—

In our Tour of Extensions today’s article is about advanced tag indexing. We have a great data collection to play with and our goal today is to be abl [...]

An Interview about MariaDB and PostgreSQL đź”—

At the Open World Forum two weeks ago I had the pleasure to meet with Colin Charles. We had a nice talk about the current state of both MariaDB and Po [...]

PostgreSQL Autonomous Transaction đź”—

PostgreSQL is an all round impressive Relational DataBase Management System which implements the SQL standard (see the very useful reference page Comp [...]

Open World Forum Conference đź”—

Last Friday I had the chance to be speaking at the Open World Forum in the NewSQL track, where we had lots of interest and excitement around the NoSQL [...]

Open World Forum 2013 đź”—

Une présentation qui montre que PostgreSQL est déjà web-scale, avec un rappel de l’histoire du projet et quelques exemples pratiques montrant des cas [...]

A Worthwile Micro Optimisation đź”—

In our previous article about Loading Geolocation Data, we did load some data into PostgreSQL and saw the quite noticable impact of a user transformat [...]

Loading Geolocation Data đź”—

As I’ve been mentionning in the past already, I’m currently rewriting pgloader from scratch in Common Lisp. In terms of technical debt that’s akin to [...]

Open World Forum 2013 đź”—

Have you heard about the Open World Forum conference that takes place in Paris, October 3-5, 2013? I’ll be presenting a talk about PostgreSQL in the t [...]

PostgreSQL data recovery đź”—

The following story is only interesting to read if you like it when bad things happen, or if you don’t have a trustworthy backup policy in place. By t [...]

Using trigrams against typos đź”—

In our ongoing Tour of Extensions we played with earth distance in How far is the nearest pub? then with hstore in a series about trigger, first to ge [...]

Auditing Changes with Hstore đź”—

In a previous article about Trigger Parameters we have been using the extension hstore in order to compute some extra field in our records, where the [...]

Trigger Parameters đź”—

Sometimes you want to compute values automatically at INSERT time, like for example a duration column out of a start and an end column, both timestamp [...]

Understanding Window Functions đź”—

There was SQL before window functions and SQL after window functions: that’s how powerful this tool is. Being that of a deal breaker unfortunately mea [...]

Migrating from MySQL to PostgreSQL đź”—

About the only time when I will accept to work with MySQL is when you need help to migrate away from it because you decided to move to PostgreSQL inst [...]

How far is the nearest pub? đź”—

In our recent article about The Most Popular Pub Names we did have a look at how to find the pubs nearby, but didn’t compute the distance in between t [...]

The Most Popular Pub Names đź”—

In his article titled The Most Popular Pub Names Ross Lawley did show us how to perform some quite interesting geographic queries against MongoDB, usi [...]

OSCON, Portland, and PDXPUG đź”—

After spending an awesome week in San Francisco, CA I’m lucky enough to be spending another week in the USA, in Portand, OR. The main excuse for showi [...]

OSCON đź”—

The migration of a complex system and architecture from MySQL and Java to PostgreSQL and PHP, with plenty details about the context and the trade-offs [...]

PDXPUG đź”—

The PostgreSQL for Developers talk begins with a simple use case for developers to solve entirely in SQL. Discover SQL window functions if you don’t k [...]

Talking at the SFPUG đź”—

Those days feel really lucky to me. I’m currently visiting friends and customers in San Francisco, and really enjoying my trip here! Of course Josh Be [...]

SFPUG Meeting đź”—

A presentation of Skytools version 3, the replication toolset from Skype that includes Londiste and PGQ. [...]

Back from CHAR(13) đź”—

Last week was held the CHAR(13) conference in a great venue in the UK countryside. Not only did we discover UK under good weather conditions and some [...]

Emacs Muse meets Common Lisp đź”—

This blog of mine is written in the very good Emacs Muse format, that I find much more friendly to writing articles than both org-mode and markdown-mo [...]

Archiving data as fast as possible đź”—

In a recent article here we’ve been talking about how do do Batch Updates in a very efficient way, using the Writable CTE features available in Postgr [...]

Simple Case for Pivoting in SQL đź”—

In a recent article Craig Kerstiens from Heroku did demo the really useful crosstab extension. That function allows you to pivot a table so that you c [...]

Conferences Report đź”—

Recently I’ve been to some more conferences and didn’t take the time to blog about them, even though I really did have great fun over there. So I felt [...]

Make the Most ouf of SQL đź”—

Tonight I had the pleasure to present a talk at the Dublin PostgreSQL User Group using remote technologies. The talk is about how to make the most ouf [...]

PGDay France đź”—

Une conférence qui s’attache aux usages de PostgreSQL avec de très gros volumes de données, intitulée Vers le PetaByte avec PostgreSQL. [...]

from Parsing to Compiling đź”—

Last week came with two bank holidays in a row, and I took the opportunity to design a command language for pgloader. While doing that, I unexpectedly [...]

Nearest Big City đź”—

In this article, we want to find the town with the greatest number of inhabitants near a given location. A very localized example We first need to fin [...]

Emacs Conference đź”—

Yes it did happen, for real, in London: the Emacs Conference. It was easter week-end. Yet the conference managed to have more than 60 people meet toge [...]

El-Get đź”—

An history of el-get, the Emacs library that helps you to manage the external elisp bits and pieces upon which you depend! [...]

The Need For Speed đź”—

Hier se tenait la cinquième édition de la conférence organisée par dalibo, où des intervenants extérieurs sont régulièrement invités. Le thème hier ét [...]

dalibo session #5 đź”—

Une présentation en français qui traite des performances avec PostgreSQL, er rappelle la loi d’Amdahl dans le contexte des performances de requêtes SQ [...]

Bulk Replication đź”—

In the previous article here we talked about how to properly update more than one row at a time, under the title Batch Update. We did consider perform [...]

Batch Update đź”—

Performance consulting involves some tricks that you have to teach over and over again. One of them is that SQL tends to be so much better at dealing [...]

Emacs Conference đź”—

The Emacs Conference is happening, it’s real, and it will take place at the end of this month in London. Check it out, and register at Emacs Conferenc [...]

HyperLogLog Unions đź”—

In the article from yesterday we talked about PostgreSQL HyperLogLog with some details. The real magic of that extension has been skimmed over though, [...]

PostgreSQL HyperLogLog đź”—

If you’ve been following along at home the newer statistics developments, you might have heard about this new State of The Art Cardinality Estimation [...]

Playing with pgloader đź”—

While making progress with both Event Triggers and Extension Templates, I needed to make a little break. My current keeping sane mental exercise seems [...]

Marking whole word đź”—

I’ve discovered recently another Emacs facility that I since then use several times a day, and I wonder how I did without it before: C-M-SPC runs the [...]

Live Upgrading PGQ đź”—

Some skytools related new today, it’s been a while. For those who where at my FOSDEM’s talk about Implementing High Availability you might have heard [...]

Another Great FOSDEM đź”—

This year’s FOSDEM has been a great edition, in particular the FOSDEM PGDAY 2013 was a great way to begin a 3 days marathon of talking about PostgreSQ [...]

FOSDEM đź”—

The first talk is a presentation of PostgreSQL High-Availability solutions, with different Architectures presented in their context. All the Architect [...]

A Sunday at FOSDEM đź”—

The previous article FOSDEM 2013 said to be careful with the PostgreSQL devroom schedule because one of my talks there might get swapped with a slot o [...]

FOSDEM 2013 đź”—

This year again I’m going to FOSDEM, and to the extra special PostgreSQL FOSDEM day. It will be the first time that I’m going to be at the event for t [...]

pgloader: what's next? đź”—

pgloader is a tool to help loading data into PostgreSQL, adding some error management to the COPY command. COPY is the fast way of loading data into P [...]

Automated Setup for pgloader đź”—

Another day, another migration from MySQL to PostgreSQL… or at least that’s how it feels sometimes. This time again I’ve been using some quite old scr [...]

Lost in scope đź”—

Thanks to Mickael on twitter I got to read an article about loosing scope with some common programming languages. As the blog article Lost in scope re [...]

Extensions Templates đź”—

In a recent article titled Inline Extensions we detailed the problem of how to distribute an extension’s package to a remote server without having acc [...]

Inline Extensions đź”—

We’ve been having the CREATE EXTENSION feature in PostgreSQL for a couple of releases now, so let’s talk about how to go from here. The first goal of [...]

M-x ack đź”—

I’ve been asked about how to integrate the ack tool (you know, the one that is better than grep) into Emacs today. Again. And I just realized that I d [...]

CL Happy Numbers đź”—

A while ago I stumbled upon Happy Numbers as explained in programming praxis, and offered an implementation of them in SQL and in Emacs Lisp. Yeah, I [...]

About Vimgolf đź”—

Following some tweet I found myself desultory watching an episode of the awesome VimGolf in Emacs video series by Tim Visher. Those series are about p [...]

Editing SQL đź”—

It’s hard to read my blog yet not know I’m using Emacs. It really is a great tool and has a lot to compare to PostgreSQL in terms of extensibility, do [...]

Concurrent Hello đź”—

Thanks to Mickael on twitter I ran into that article about implementing a very basic Hello World! program as a way to get into a new concurrent langua [...]

PostgreSQL for developers đź”—

As Guillaume says, we’ve been enjoying a great evening conference in Lyon 2 days ago, presenting PostgreSQL to developers. He did the first hour prese [...]

Présentation de PostgreSQL 🔗

The PostgreSQL for Developers talk begins with a simple use case for developers to solve entirely in SQL. Discover SQL window functions if you don’t k [...]

Another awesome conf đź”—

Last week was PostgreSQL Conference Europe 2012 in Prague, and it’s been awesome. Many thanks to the organisers who did manage to host a very smooth c [...]

PostgreSQL Conference Europe 2012 đź”—

The first talk is about a PostgreSQL Migration (from MySQL) of the Fotolog web site with 32 millions of users, 1 billion photos and 10 billion comment [...]

Prefixes and Ranges đź”—

It’s been a long time since I last had some time to spend on the prefix PostgreSQL extension and its prefix_range data type. With PostgreSQL 9.2 out, [...]

Reset Counter đź”—

I’ve been given a nice puzzle that I think is a good blog article opportunity, as it involves some thinking and window functions. [...]

Postgres Open, 2012 đź”—

The talk is about a PostgreSQL Migration (from MySQL) of the Fotolog web site with 32 millions of users, 1 billion photos and 10 billion comments on t [...]

PostgreSQL 9.3 đź”—

PostgreSQL 9.2 is released! It’s an awesome new release that I urge you to consider trying and adopting, an upgrade from even 9.1 should be very well [...]

El-Get 4.1 is out đź”—

Please welcome the new stable version of El-Get, the much awaited version 4.1 has now been branched for your pleasure. It’s packed with lots of featur [...]

Fast and stupid? đź”—

I stumbled onto an interesting article about performance when using python, called Python performance the easy(ish) way, where the author tries to get [...]

Autumn 2012 Conferences đź”—

The PostgreSQL community host a number of conferences all over the year, and the next ones I’m lucky enough to get to are approaching fast now. First, [...]

Solving Every Sudoku Puzzle đź”—

Peter Norvig published a while ago a very nice article titled Solving Every Sudoku Puzzle wherein he presents a programmatic approach to solving that [...]

PGDay France 2012 đź”—

The french PostgreSQL Conference, pgday.fr, was yesterday in Lyon. We had a very good time and a great schedule with a single track packed with 7 talk [...]

PGDay France đź”—

Présentation des différentes options afin d’implémenter Disponibilité et Durabilité avec PostgreSQL. Les différentes Architectures possibles en 2012 e [...]

M-x recompile đź”—

A friend of mine just asked me for advice to tweak some Emacs features, and I think that’s really typical of using Emacs: rather than getting used to [...]

Back From PgCon đź”—

Last week was the annual PostgreSQL Hackers gathering in Canada, thanks to the awesome pgcon conference. This year’s issue has been packed with good t [...]

PGCON đź”—

The talk is about a PostgreSQL Migration (from MySQL) of a the Fotolog web site with 32 millions of users, 1 billion photos and 10 billion comments on [...]

Clean PGQ Subconsumers đź”—

Now that you’re all using the wonders of Cooperative Consumers to help you efficiently and reliably implement your business constraints and offload th [...]

PGQ Coop Consumers đź”—

While working a new PostgreSQL architecture for an high scale project that used to be in the top 10 of internet popular web sites (in terms of visitor [...]

Extension White Listing đź”—

PostgreSQL 9.1 includes proper extension support, as you might well know if you ever read this very blog here. Some hosting facilities are playing wit [...]

Battle Language Ă  la Marmite đź”—

J’ai eu la chance hier soir de participer à la Battle Language à la Marmite, où j’avais proposé de parler de Emacs Lisp, proposition qui s’est transfo [...]

pgbouncer munin plugin đź”—

It seems that if you search for a munin plugin for pgbouncer it’s easy enough to reach an old page of mine with an old version of my plugin, and a bro [...]

Extensions en simple SQL đź”—

La conférence européenne à Amsterdam était un très bon évènement de la communauté, avec une organisation impeccable dans un hôtel accueillant. J’ai eu [...]

Back From Amsterdam đź”—

Another great conference took place last week, PostgreSQL Conference Europe 2011 was in Amsterdam and plenty of us PostgreSQL geeks were too. I attend [...]

PostgreSQL Conference Europe đź”—

Extensions are good for Business Logic addresses how to package and deploy your own PostgreSQL Extension to production, and implement business logic i [...]

Implementing backups đź”—

I’ve been asked about my opinion on backup strategy and best practices, and it so happens that I have some kind of an opinion on the matter. I tend to [...]

Extensions, applications đź”—

La conférence PostgreSQL annuelle en Europe a lieu la semaine prochaine à Amsterdam, et j’espère que vous avez déjà vos billets, car cette édition s’a [...]

Scaling Stored Procedures đź”—

In the news recently stored procedures where used as an excuse for moving away logic from the database layer to application layer, and to migrate away [...]

See you in Amsterdam đź”—

The next PostgreSQL conference is approaching very fast now, I hope you have your ticket already: it’s a very promissing event! If you want some help [...]

PostgreSQL Ă  Amsterdam đź”—

Dans moins d’un mois se tient la conférence européenne PostgreSQL, pgconf.eu. Il s’agit de quatre jours consacrés à votre SGBD préféré, où vous pourre [...]

Skytools3: walmgr đź”—

Let’s begin the Skytools 3 documentation effort, which is long overdue. The code is waiting for you over at github, and is stable and working. Why is [...]

el-get-3.1 đź”—

The el-get project releases its new stable version, 3.1. This new release fixes bugs, add a host of new recipes (we have 420 of them and counting) and [...]

PostgreSQL 9.1 đź”—

PostgreSQL 9.1 est dans les bacs ! Vous n’avez pas encore cette nouvelle version en production ? Pas encore évalué pourquoi vous devriez envisager de [...]

Éviter les injections SQL 🔗

Nous avons parlé la dernière fois les règles d' échappement de chaînes avec PostgreSQL, et mentionné qu’utiliser ces techniques afin de protéger les d [...]

PostgreSQL and debian đź”—

After talking about it for a very long time, work finally did begin! I’m talking about the apt.postgresql.org build system that will allow us, in the [...]

pg_restore -L & pg_staging đź”—

On the PostgreSQL Hackers mailing lists, Andrew Dunstan just proposed some new options for pg_dump and pg_restore to ease our lives. One of the answer [...]

Skytools, version 3 đź”—

You can find skytools3 in debian experimental already, it’s in release candidate status. What’s missing is the documentation, so here’s an idea: I’m g [...]

pgfincore in debian đź”—

As of pretty recently, pgfincore is now in debian, as you can see on its postgresql-9.0-pgfincore page. The reason why it entered the debian archives [...]

Échappement de chaînes 🔗

Parmis les nouveautés de la prochaine version de PostgreSQL, la fameuse 9.1, il faut signaler le changement de valeur par défaut de la variable standa [...]

el-get-list-packages đź”—

From the first days of el-get is was quite clear for me that we would reach a point where users would want a nice listing including descriptions of th [...]

Tutoriel pgloader đź”—

En reprenant le contenu des articles de la série sur pgloader, j’ai pris le temps de compiler un tutoriel complet, en anglais. Si j’en crois les quelq [...]

pgloader tutorial đź”—

To finish up the pgloader series, I’ve compiled all the information into a single page, the long awaited pgloader tutorial. That should help lots of u [...]

Champs statiques & pgloader đź”—

Dans la série de nos articles sur pgloader, l’article du jour décrit comment insérer des valeurs constantes (absentes du fichier de données) pendant l [...]

pgloader constant cols đź”—

The previous articles in the pgloader series detailed How To Use PgLoader then How to Setup pgloader, then what to expect from a parallel pgloader set [...]

Emacs Startup đź”—

Using Emacs we get to manage a larger and larger setup file (either ~/.emacs or ~/.emacs.d/init.el), sometime with lots of dependencies, and some sub- [...]

pgloader reformating đź”—

Back to our series about pgloader. The previous articles detailed How To Use PgLoader then How to Setup pgloader, then what to expect from a parallel [...]

Reformater avec pgloader đź”—

Dans la série de nos articles sur pgloader, le dernier venu détaille comment utiliser la fonction de reformatage de cet outil. Dans le cadre d’utilisa [...]

See Tsung in action đź”—

Tsung is an open-source multi-protocol distributed load testing tool and a mature project. It’s been available for about 10 years and is built with th [...]

Parallel pgloader đź”—

This article continues the series that began with How To Use PgLoader then detailed How to Setup pgloader. We have some more fine points to talk about [...]

pgloader en parallèle 🔗

Dans la série des articles sur pgloader, nous détaillons cette fois la configuration du paraléllisme de chargement des données. Une fois de plus, je v [...]

Configurer pgloader đź”—

Je viens de publier un billet en anglais intitulé How to Setup pgloader, qui complète l’écriture en cours d’un tutoriel pgloader plus complet. Une foi [...]

How to Setup pgloader đź”—

In a previous article we detailed how to use pgloader, let’s now see how to write the pgloader.conf that instructs pgloader about what to do. [...]

Emacs ANSI colors đź”—

Emacs comes with a pretty good implementation of a terminal emulator, M-x term. Well not that good actually, but given what I use it for, it’s just wh [...]

Next month partitions đź”—

When you do partition your tables monthly, then comes the question of when to create next partitions. I tend to create them just the week before next [...]

Comment Utiliser pgloader đź”—

C’est une question qui revient régulièrement, et à laquelle je pensais avoir apporté une réponse satisfaisante avec les exemples pgloader. Ce document [...]

How To Use PgLoader đź”—

This question about pgloader usage coms in quite frequently, and I think the examples README goes a long way in answering it. It’s not exactly a tutor [...]

Emacs Cheat Sheet đź”—

I stumbled upon the following cheat sheet for Emacs yesterday, and it’s worth sharing. I already learnt or discovered again some nice default chords, [...]

Skytools3 : les slides 🔗

La conférence CHAR(11) étant maintenant terminée, il est d’usage de publier les slides utilisés. J’ai présenté Skytools 3.0 dont la prochaine version [...]

Skytools3 talk Slides đź”—

In case you’re wondering, here are the slides from the CHAR(11) talk I gave, about Skytools 3.0, soon to be released. That means as soon as I have eno [...]

Elisp Breadcrumbs đź”—

A breadcrumb is a navigation aid. I just added one to this website, so that it gets easier to browse from any article to its local and parents indexes [...]

De retour de CHAR(11) đź”—

Quelle meilleure occupation dans le train du retour de CHAR(11) que de se faire reporteur pour l’occasion ? En réalité, dormir serait une idée tant le [...]

Back From CHAR(11) đź”—

CHAR(11) finished somewhen in the night leading to today, if you consider the social events to be part of it, which I definitely do. This conference h [...]

CHAR 11 đź”—

A presentation of Skytools 3, the third major version of the replication and load-balancing solution from Skype. This covers both Londiste and PGQ. [...]

Muse setup revised đź”—

Most of you are probably reading my posts directly in their RSS reader tools (mine is gnus thanks to the Gwene service), so you probably missed it, bu [...]

Prêt pour CHAR(11) ? 🔗

La semaine prochaine déjà se tient CHAR(11), la conférence spécialisée sur le Clustering, la Haute Disponibilité et la Réplication avec PostgreSQL. C’ [...]

Multi-Version support for Extensions đź”—

We still have this problem to solve with extensions and their packaging. How to best organize things so that your extension is compatible with before [...]

Don't be afraid of 'cl đź”—

In this blog article, you’re shown a quite long function that loop through your buffers to find out if any of them is associated with a file whose ful [...]

Back from Ottawa, preparing for Cambridge đź”—

While Magnus is all about PG Conf EU already, you have to realize we’re just landed back from PG Con in Ottawa. My next stop in the annual conferences [...]

el-get 2.2 đź”—

We’ve spotted a little too late for our own taste a discrepancy in the source tree: a work in progress patch landed in git just before to release el-g [...]

el-get 2.1 đź”—

Current el-get status is stable, ready for daily use and packed with extra features that make life easier. There are some more things we could do, as [...]

PGCON đź”—

A talk about the then ongoing effort to implement support for Extensions in PostgreSQL. My patch was committed in 9.1 and is the basis for the create [...]

Preparing for PGCON đź”—

It’s this time of the year again, the main international PostgreSQL Conference is next week in Ottawa, Canada. If previous years are any indication, t [...]

Mailq modeline display đź”—

If you’ve not been following along, you might have missed it: it appears to me that even today, in 2011, mail systems work much better when setup the [...]

Tables and Views dependencies đź”—

Let’s say you need to ALTER TABLE foo ALTER COLUMN bar TYPE bigint;, and PostgreSQL is helpfully telling you that no you can’t because such and such v [...]

Extension module_pathname and .sql.in đź”—

While currently too busy at work to deliver much Open Source contributions, let’s debunk an old habit of PostgreSQL extension authors. It’s all down t [...]

Emacs and PostgreSQL, PL line numbering đź”—

A while ago I’ve been fixing and publishing pgsql-linum-format separately. That allows to number PL/whatever code lines when editing from Emacs, and i [...]

Emacs Kicker đź”—

Following up on the very popular emacs-starter-kit, I’m now proposing the emacs-kicker. It’s about the .emacs file you’ve seen in older posts here, wh [...]

Some notes about Skytools3 đź”—

I’ve been working on skytools3 packaging lately. I’ve been pushing quite a lot of work into it, in order to have exactly what I needed out of the box, [...]

towards pg_staging 1.0 đź”—

If you don’t remember about what pg_staging is all about, it’s a central console from where to control all your PostgreSQL databases. Typically you us [...]

Extensions in 9.1 đź”—

If you’ve not been following closely you might have missed out on extensions integration. Well, Tom spent some time on the patches I’ve been preparing [...]

desktop-mode and readahead đź”—

I’m using Desktop Save Mode so that Emacs knows to open again all the buffers I’ve been using. That goes quite well with how often I start Emacs, that [...]

Back from FOSDEM đź”—

This year we were in the main building of the conference, and apparently the booth went very well, solding lots of PostgreSQL merchandise etc. I had t [...]

FOSDEM đź”—

The tale of the development of the Extension support for PostgreSQL, by the patch series author, yours truly. [...]

Going to FOSDEM đź”—

A quick blog entry to say that yes: And I will even do my Extension’s talk which had a success at pgday.eu. The talk will be updated to include the la [...]

Starting afresh with el-get đź”—

It so happens that a colleague of mine wanted to start using Emacs but couldn’t get to it. He insists on having proper color themes in all application [...]

el-get 1.1, with 174 recipes đź”—

Yes, you read it well, el-get currently features 174 recipes, and is now reaching the 1.1 release. The reason for this release is mainly that I have t [...]

PostgreSQL Conference Europe đź”—

A talk about the then ongoing effort to implement support for Extensions in PostgreSQL. My patch was committed in 9.1 and is the basis for the create [...]

Dynamic Triggers in PLpgSQL đź”—

You certainly know that implementing dynamic triggers in PLpgSQL is impossible. But I had a very bad night, being up from as soon as 3:30 am today, so [...]

pg_basebackup đź”—

Hannu just gave me a good idea in this email on -hackers, proposing that pg_basebackup should get the xlog files again and again in a loop for the who [...]

Introducing Extensions đź”—

After reading Simon’s blog post, I can’t help but try to give some details about what it is exactly that I’m working on. As he said, there are several [...]

Extensions: writing a patch for PostgreSQL đź”—

These days, thanks to my community oriented job, I’m working full time on a PostgreSQL patch to terminate basic support for extending SQL. First thing [...]

Date puzzle for starters đź”—

The PostgreSQL IRC channel is a good place to be, for all the very good help you can get there, because people are always wanting to remain helpful, b [...]

Resuming work on Extensions, first little step đź”—

Yeah I’m back on working on my part of the extension thing in PostgreSQL. First step is a little one, but as it has public consequences, I figured I’d [...]

el-get reaches 1.0 đź”—

It’s been a week since the last commits in the el-get repository, and those were all about fixing and adding recipes, and about notifications. Nothing [...]

Regexp performances and Finite Automata đź”—

The major reason why I dislike perl so much, and ruby too, and the thing I’d want different in the Emacs Lisp API so far is how they set developers mi [...]

Postfix sender_dependent_relayhost_maps đź”—

The previous article about M-x mailq has raised several mails asking me details about the Postfix setup I’m talking about. The problem we’re trying to [...]

Scratch that itch: M-x mailq đź”—

Nowadays, most people would think that email is something simple, you just setup your preferred client (that’s called a MUA) with some information suc [...]

switch-window reaches 0.8 đź”—

I wanted to play with the idea of using the whole keyboard for my switch-window utility, but wondered how to get those keys in the right order and all [...]

Window Functions example remix đź”—

The drawback of hosting a static only website is, obviously, the lack of comments. What happens actually, though, is that I receive very few comments [...]

Window Functions example đź”—

So, when 8.4 came out there was all those comments about how getting window functions was an awesome addition. Now, it seems that a lot of people seek [...]

Synchronous Replication đź”—

Although the new asynchronous replication facility that ships with 9.0 ain’t released to the wide public yet, our hackers hero are already working on [...]

Want to share your recipes? đź”—

Yes, that’s another el-get related entry. It seems to take a lot of my attention these days. After having setup the git repository so that you can upd [...]

Happy Numbers đź”—

After discovering the excellent Gwene service, which allows you to subscribe to newsgroups to read RSS content ( blogs, planets, commits, etc), I came [...]

welcome el-get scratch installer đź”—

A very good remark from some users: installing and managing el-get should be simpler. They wanted both an easy install of the thing, and a way to be a [...]

Playing with bit strings đź”—

The idea of the day ain’t directly from me, I’m just helping with a very thin subpart of the problem. The problem, I can’t say much about, let’s just [...]

el-get news đź”—

I’ve been receiving some requests for el-get, some of them even included a patch. So now there’s support for bzr, CSV and http-tar, augmenting the exi [...]

el-get and dim-switch-window status update đź”—

Thanks to you readers of Planet Emacsen taking the time to try those pieces of emacs lisp found in my blog, and also the time to comment on them, some [...]

Editing constants in constraints đź”—

We’re using constants in some constraints here, for example in cases where several servers are replicating to the same federating one: each origin ser [...]

debian packaging PostgreSQL extensions đź”—

In trying to help an extension debian packaging effort, I’ve once again proposed to handle it. That’s because I now begin to know how to do it, as you [...]

Querying the Catalog to plan an upgrade đź”—

Some user on IRC was reading the releases notes in order to plan for a minor upgrade of his 8.3.3 installation, and was puzzled about potential needs [...]

el-get đź”—

I’ve been using emacs for a long time, and a long time it took me to consider learning Emacs Lisp. Before that, I didn’t trust my level of understandi [...]

Database Virtual Machines đź”—

Today I’m being told once again about SQLite as an embedded database software. That one ain’t a database server but a software library that you can us [...]

Partitioning: relation size per “group” 🔗

This time, we are trying to figure out where is the bulk of the data on disk. The trick is that we’re using DDL partitioning, but we want a “nice” vie [...]

dim-switch-window.el: fixes đź”—

Thanks to amazing readers of planet emacsen, two annoyances of switch-window.el have already been fixed! The first is that handling of C-g isn’t exact [...]

dim-switch-window.el đź”—

So it’s Sunday and I’m thinking I’ll get into el-get sometime later. Now is the time to present dim-switch-window.el which implements a visual C-x o. [...]

ClusterSSH gets dsh support đź”—

If you don’t know about ClusterSSH, it’s a project that builds on M-x term and ssh to offer a nice and simple way to open remote terminals. It’s avail [...]

Emacs and PostgreSQL đź”—

Those are my two all times favorite Open Source Software. Or Free Software in the GNU sense of the world, as both the BSD and the GPL are labeled free [...]

Background writers đź”—

There’s currently a thread on hackers about bg worker: overview and a series of 6 patches. Thanks a lot Markus! This is all about generalizing a conce [...]

Logs analysis đź”—

Nowadays to analyze logs and provide insights, the more common tool to use is pgfouine, which does an excellent job. But there has been some improveme [...]

Using indexes as column store? đź”—

There’s a big trend nowadays about using column storage as opposed to what PostgreSQL is doing, which would be row storage. The difference is that if [...]

MVCC in the Cloud đź”—

At CHAR(10) Markus had a talk about Using MVCC for Clustered Database Systems and explained how Postgres-R does it. The scope of his project is to mai [...]

Back from CHAR(10) đź”—

It surely does not feel like a full month and some more went by since we were enjoying PGCon 2010, but in fact it was already the time for CHAR(10). T [...]

Back from PgCon2010 đź”—

This year’s edition has been the best pgcon ever for me. Granted, it’s only my third time, but still :) As Josh said the “Hall Track” in particular wa [...]

PGCON đź”—

2 years of londiste is a talk that summarize what we’ve found in this project after having been using it for 2 years in production. From the community [...]

Import fixed width data with pgloader đź”—

So, following previous blog entries about importing fixed width data, from Postgres Online Journal and David (perl) Fetter, I couldn’t resist followin [...]

pgloader activity report đź”—

Yes. This pgloader project is still maintained and somewhat active. Development happens when I receive a complaint, either about a bug in existing cod [...]

Finding orphaned sequences đź”—

This time we’re having a database where sequences were used, but not systematically as a default value of a given column. It’s mainly an historic bad [...]

Emacs Muse hacking đź”—

Now you know what piece of software is used to publish this blog. I really like it, the major mode makes it a great experience to be using this tool, [...]

Getting out of SQL_ASCII, part 2 đź”—

So, if you followed the previous blog entry, now you have a new database containing all the static tables encoded in UTF-8 rather than SQL_ASCII. Beca [...]

Getting out of SQL_ASCII, part 1 đź”—

It happens that you have to manage databases designed by your predecessor, and it even happens that the team used to not have a DBA. Those histerical [...]

Resetting sequences. All of them, please! đź”—

So, after restoring a production dump with intermediate filtering, none of our sequences were set to the right value. I could have tried to review the [...]

pg_staging's bird view đź”—

One of the most important feedback I got about the presentation of pgstaging were the lack of pictures, something like a bird-view of how you operate [...]

PGday.eu feedback đź”—

At pgday there was this form you could fill to give speakers some feedback about their talks. And that’s a really nice way as a speaker to know what t [...]

prefix 1.1.0 đź”—

So I had two bug reports about prefix in less than a week. It means several things, one of them is that my code is getting used in the wild, which is [...]

Yet Another PostgreSQL tool hits debian đź”—

So there it is, this newer contribution of mine that I presented at PGDay is now in debian NEW queue. pg_staging will empower you with respect to what [...]

PGDay.eu, Paris: it was awesome! đź”—

moment. Lots of attendees, lots of quality talks ( slides are online), good food, great party: all the ingredients were there! It also was for me the [...]

PostgreSQL Conference Europe đź”—

2 years of londiste is a talk that summarize what we’ve found in this project after having been using it for 2 years in production. From the community [...]

Emacs Muse based publishing đź”—

As you might have noticed, this little blog of mine is not compromising much and entirely maintained from Emacs. Until today, I had to resort to term [...]

prefix 1.0.0 đź”—

So there it is, at long last, the final 1.0.0 release of prefix! It’s on its way into the debian repository (targetting sid, in testing in 10 days) an [...]

Emacs is Twinkling here đź”—

So you have a rolodex like database in your Emacs, or you have this phone number in a mail and you want to call it. It happens you have VoIP setup and [...]

Escreen integration đź”—

After having used elscreen for a long time, I’m now a very happy user of escreen, which feels much better integrated and allows to have one ring of re [...]

Follow-up on dim:mailrc-add-entry đź”—

The function didn’t allow for using more than one mailrc file, which isn’t a good idea, so I’ve just added that. Oh and for gnus integration what I ne [...]

Improving ~/.mailrc usage đź”—

So I’ve been adviced to use ~/.mailrc for keeping a basic address book in Emacs, for use within gnus for example. I had to resort to the manual to fin [...]

hstore-new & preprepare reach debian too đź”—

It seems like debian developers are back from annual conference and holiday, so they have had a look at the NEW queue and processed the packages in th [...]

Some emacs nifties đź”—

First, here’s a way to insert at current position the last message printed into the minibuffer… well not exactly, in *Messages* buffer in fact. I was [...]

prefix 1.0~rc2 in debian testing đź”—

At long last, here it is. With binary versions both for postgresal-8.3 and postgresal-8.4! Unfortunately my other packaging efforts are still waiting [...]

prefix 1.0~rc2-1 đź”—

I’ve been having problem with building both postgresql-8.3-prefix and postgresql-8.4-prefix debian packages from the same source package, and fixing t [...]

prefix extension reaches 1.0 (rc1) đź”—

At long last, after millions and millions of queries just here at work and some more in other places, the prefix project is reaching 1.0 milestone. Th [...]

PgCon 2009 đź”—

I can’t really compare PgCon 2009 with previous years versions, last time I enjoyed the event it was in 2006, in Toronto. But still I found the experi [...]

PGCON đź”—

A Lightning Talk about PGQ, the Skytools solution for managing queues in PostgreSQL. [...]

Prepared Statements and pgbouncer đź”—

On the performance mailing list, a recent thread drew my attention. It devired to be about using a connection pool software and prepared statements in [...]

Skytools 3.0 reaches alpha1 đź”—

It’s time for Skytools news again! First, we did improve documentation of current stable branch with hosting high level presentations and tutorials on [...]

Prefix GiST index now in 8.1 đź”—

The prefix project is about matching a literal against prefixes in your table, the typical example being a telecom routing table. Thanks to the excell [...]

Importing XML content from file đź”—

The problem was raised this week on IRC and this time again I felt it would be a good occasion for a blog entry: how to load an XML file content into [...]

Asko Oja talks about Skype architecture đź”—

In this russian page you’ll see a nice presentation of Skype databases architectures by Asko Oja himself. It’s the talk at Russian PostgreSQL Communit [...]

Skytools ticker daemon and londiste đź”—

One of the difficulties in getting to understand and configure londiste reside in the relation between the ticker and the replication. This question w [...]

Comparing Londiste and Slony đź”—

In the page about Skytools I’ve encouraged people to ask some more questions in order for me to be able to try and answer them. That just happened, as [...]

Controling HOT usage in 8.3 đź”—

As it happens, I’ve got some environments where I want to make sure HOT ( aka Heap Only Tuples) is in use. Because we’re doing so much updates a secon [...]

Londiste Trick đź”—

So, you’re using londiste and the ticker has not been running all night long, due to some restart glitch in your procedures, and the on call admin did [...]

Useful emacs trick đź”—

Watch Kevin Kelly’s Talk here, it’s about trying to predict what the Internet will look like 5 thousands days from now. [...]

emacs-snapshot đź”—

If you want to live on the bleeding edge, it’s easy enough to get a non existing release of GNU Emacs under debian sid, thanks to http://emacs.oreboke [...]

new site, using new software đź”—

Oh and check out the skytools page too. Emacs Muse is so great a project that instead of just working on how to publish a website with this tool, I fo [...]

Emacs Muse powered blog đź”—

So finaly a blogging software for geeks exists? The problem with communication is that you think it happened. [...]

Fake entry đź”—

This is a test of a fake entry to see how muse will manage this. With some SQL inside: SELECT * FROM planet.postgresql.org WHERE author = "dim"; [...]

PostgreSQL Conference Europe đź”—

My first PostgreSQL Conference ever, and I was a speaker… thanks to this very welcoming community! The first presentation is a Lightning Talk about PG [...]

January 1, 2001 12:00 AM

On JSON and SQL See the articles: http://tapoueh.org/blog/2017/09/on-json-and-sql/ http://tapoueh.org/blog/2017/10/set-returning-fonctions-and-postgre [...]

Projects đź”—

Open-source tools I build and maintain — mostly about getting data in and out of PostgreSQL and keeping it highly available. The full graveyard lives [...]