Skip to content

PostgreSQL

PostgreSQL from installation to production: configuration, streaming replication, high availability with Patroni, backups with pgBackRest, performance tuning, extensions, upgrades and migrations from other database engines.

See you on Polywork (an new LinkedIn?)

By Franck Pachot . I have published 105 additional blog posts here since the 500th one https://www.dbi-services.com/blog/rollback-to-savepoint/ that I have written on my come back to dbi-services. On Oracle Database, of course, other databases as well, on clouds (OCI and AWS mainly, with a look at GCP and Azure). But also with some thoughts on the rise of the “scale-out”… 

PostgreSQL on Oracle free tier ARM

By Franck Pachot . This follows the previous post about the Oracle Cloud ARM compute shape just announced on May 25th. The processor is ARM v8.2 with LSE (atomic instructions) and PostgreSQL can benefit from it (see Dramatical Effect of LSE Instructions for PostgreSQL on Graviton2 Instances). I have installed GCC 11 in the previous post, on a Oracle Linux… 

PostgreSQL on AWS Graviton2: CFLAGS

By Franck Pachot . In a previous post I’ve compiled PostgreSQL with GCC 7 and GCC 11 with the default options and checked that the ARM v8.2 features were used. However it may not be so simple: PostgreSQL ./configure defines gcc flags to produce a binary that is compatible with older versions of ARM. This means that it may not… 

Delphix and upgrading the clones (Oracle)

By Franck Pachot . Delphix is a tool for easy cloning of databases. The idea is that all is automated: the user can create a clone, rewind or refresh it with one click. However, I was suprised that the following common scenario is not managed by the Delphix engine: You clone from production, say Oracle 12c You upgrade the clone,… 

Pass a variable to a trigger in PostgreSQL

By Franck Pachot . With Oracle there are many ways to set a state in the session: context variables, set with DBMS_SESSION.SET_CONTEXT and retrieved with SYS_CONTEXT, or package global variables, or global or private temporary tables with ON COMMIT PRESERVE ROWS,… How would you do it in PostgreSQL? I’m taking an example from a Yugabyte slack question, as Yugabyte SQL… 

K8s on Windows/VirtualBox

By Franck Pachot . This is a little demo, easy to copy-paste, if you want to play with Kubernetes on your laptop. And, not a simple “Hello World” but a real database running here, able to scale up and down with full availability. Install Virtualbox I use Oracle VirtuaBox because I’m a big fan of Oracle products, especially when they… 

Should CPU-intensive logic be done in the DB or in application server?

By Franck Pachot . Should CPU-intensive logic be done in the DB or in application server? Here was a answer found in Reddit: Comment byu/CacheMeUp from discussion inPostgreSQL Reducing the CPU usage on the database server is a major cost saver with commercial databases, like Oracle Enterprise Edition where you pay license per core. But even in Open Source, on-premises… 

Foreign Keys in MySQL, SQL, NoSQL, NewSQL

By Franck Pachot . In the NoSQL times, it was common to hear thinks like “SQL is bad”, “joins are bad”, “foreign keys are bad”. Just because people didn’t know how to use them, or they were running on a database system with a poor implementation of it. MySQL was very popular because easy to install, but lacking on many… 

AWS: PostgreSQL on Graviton2 with newer GCC

By Franck Pachot . In the previous post I have run PostgreSQL on AWS m6gd.2xlarge (ARM Graviton2 processor). I didn’t precise the compilation option and this post will give more details following this feedback: @FranckPachot thanks for sharing the results. Our own testing showed similar perf when using the default gcc7. However, with newer compiler and use of LSE, the… 

AWS: PostgreSQL on Graviton2

By Franck Pachot . On the AWS free tier, you can run a t2.micro instance for 750 hours per month during the first 12 month after sign-up date. And currently, until June 2021, you can also run a T4g.micro. But be careful, when the free trial ends, or if your usage exceeds the free trial restrictions, you’ll pay the standard… 

PostgreSQL on Linux: what is cached?

By Franck Pachot . In a recent tweet I wanted to highlight the importance of knowing what you measure with pgbench, because looking at “Transactions per second” without knowing if you are in shared buffer cache hits, or filesystem cache hit, or storage cache hit, or physical read… is just meaningless: When you run the #postgres builtin pgbench, you should… 

Microsoft Flexible Server for PostgreSQL

This Blog is about some findings on Microsoft’s new Flexible Server offering for PostgreSQL which is in Customer Preview at the moment. Findings about the infrastructure The Microsoft Flexible Server for PostgreSQL is using Ubuntu as OS infrastructure, I think it is worth to be noticed that Microsoft’s new offering is switching from Windows to Linux. postgres=> select version(); version…