Welcome to gab.lc

My name is Gabriel Bordeaux and this is my personal website where I try to share cool stuff, mainly oriented towards PostgreSQL. Feel free to contact me if you have any suggestions or if you would like to work with me.

What's up?

  1. October 5th, 2017 (article updated) : Install PostgreSQL 10 on Debian / Ubuntu
  2. July 20th, 2017 (article updated) : Big data: BigQuery vs Redshift vs Athena
  3. June 19th, 2017 (article) : Big data: BigQuery vs Redshift vs Athena

A few hacks

Simple Redis work queue with added features (priorities, pop multiple items at once)
Coda Plugin that uses PHP_CodeSniffer to automatically fix PHP coding standards issues
GitHub Read article
mysql_generate_series is a MySQL replica of PostgreSQL's generate_series functions
GitHub Read article
Passwords easy for humans, hard for computers Edit
Automatically dump and archive PostgreSQL backups to Amazon S3
GitHub Read article
Run large MySQL updates with small batches to prevent table/row-level locks


We are open 24/7


  1. From MySQL to PostgreSQL: story of your large scale migration
  2. Check if you have an Index on your IDs in PostgreSQL: Why and how?
  3. ORDER BY [my custom order] in PostgreSQL: order your rows in a specific order, neither alphabetic or numeric
  4. Group by a range of values with PostgreSQL: group data by decades and more
  5. Average ignoring extremes (outliers) with PostgreSQL
  6. Weighted ntile: rank your data in weighted groups
  7. 10 tips and tricks for PostgreSQL (part 1)
  8. 10 tips and tricks for PostgreSQL (part 2)
  9. Store IP addresses in PostgreSQL with IP4R
  10. Window Functions in PostgreSQL
  11. Introduction to JSON support in PostgreSQL
  12. Improve the quality of your database using Foreign Keys in PostgreSQL
  13. Easy migrating step by step from PostgreSQL 9.3 to PostgreSQL 9.4
  14. How to select a random row from a PostgreSQL table with 100 million rows in 1.6 millisecond?
  15. PostgreSQL's subqueries: multiple columns, better and faster results
  16. PostgreSQL: Search dates on large tables with pg_IdFromDate()
  17. Install PostgreSQL 9.5 on Debian / Ubuntu
  18. Migrate from PostgreSQL 9.4 to 9.5 with easy steps
  19. Create a master-slave replication with PostgreSQL
  20. Cascading replication with PostgreSQL
  21. Migrate to PostgreSQL 9.6 with pg_upgrade
  22. Install PostgreSQL 19 on Debian / Ubuntu


  1. mysql_generate_series() for MySQL: a replica of PostgreSQL's generate_series() functions
  2. Setup a MySQL replication with Percona Server with no downtime

Other themes

  1. Introduction to GPG: Discover how GPG works and how to use it
  2. (Personal) Yield management: How to maximize your profit and minimize your customer's satisfaction rate
  3. How-to: Migrate to PHP7 with Nginx + PHP-FPM
  4. Big data: BigQuery vs Redshift vs Athena

A few words

About me

I live in Florida, USA. I ran then sold a company, Galaxya (Paris, USA), from 2004 to 2014. I specialize in PostgreSQL & MySQL databases, AdServer development (for ClicManager) and payments solutions (for Webopass, HiPay, HiPay mobile & Rentabiliweb).
I used to be a Project Manager at Hi-Media / HiPay mobile (Paris, France) and at Fotolog (NY, USA) for a little while.
If you want to meet me, I am often in Florida, New York and Paris (contact me).
My Twitter account is @Gabrielbordeaux.

My skills

PostgreSQL, MySQL, Python, PHP, LUA, Bash-scripting, Docker, AWS, Debian sys admin, HTML, CSS, JavaScript, Perl (beginner), AppleScript (beginner).


For over 10 years, I have been working with databases; first with MySQL then with PostgreSQL & NoSQL. I am available to help you with your projects, either on-site or off-site.
I can assist you with complex queries, MySQL to PostgreSQL migrations, query tuning, schema review, data modeling, log monitoring...
Read more on my dedicated website or feel free to contact me at .


  1. Stock Deputy: StockDeputy analyzes publicly traded companies' performances to help you build a smart investment portfolio
  2. Trust Consulting: PostgreSQL, MySQL & NoSQL consulting

Contact me

You can easily reach me at


Here is my GPG key: E1A5D827 (lean more about GPG)
Share this page:
Follow me to be notified of new articles:
Last update of this page: October 5, 2017
Please do not copy any of the content of this website without asking me first.