Skip to content

Joan Frey

Joan Frey has more than three years of experience in the IT sector, specializing in C and C# development, with additional knowledge of Linux and SQL. Prior to dbi services, he was an Analyst Developer Intern at Euro Information Développement in Strasbourg and an IT Help Desk intern at EuroAirport. He holds a computer engineering degree specializing in information systems from the University of Technology of Belfort-Montbéliard (UTBM). His industry experience includes banking and aviation.

28 posts since February 2022

Highly Available, Load-Balanced PostgreSQL with Patroni, HAProxy, and Keepalived

Patroni runs your PostgreSQL cluster and handles failover, promoting a replica the moment the primary dies and recording the change in its distributed store (etcd, Consul, or ZooKeeper). That part works on its own. Your applications still need one stable address to connect to, and they need writes to reach the primary while reads spread across replicas. HAProxy handles that… 

Upgrade RHEL from 9.6 to 10.1 (when running PostgreSQL/Patroni)

Upgrading from RHEL 9.6 to 10.1 is not just a routine update, it’s a major platform shift. When your server runs PostgreSQL compiled from source and a Patroni-managed cluster, the complexity increases significantly. System libraries change, Python environments break, ICU versions evolve, and your database binaries may no longer start after reboot. In this guide, I walk through a real-world… 

PostgreSQL Anonymizer: Simple Data Masking for DBAs

Sensitive data (names, emails, phone numbers, personal identifiers…) should not be freely exposed outside production. When you refresh a production database to a test or staging environment, or when analysts need access to real-looking data, anonymization becomes critical. The PostgreSQL Anonymizer extension (often called anon) is an open‑source extension that lets you mask, fake, shuffle, or generalize data directly inside… 

Monitoring PostgreSQL on Windows with PgHero and Docker

I know, I know, PostgreSQL usually feels more at home on Linux. But guess what? PgHero works just fine on Windows too, and I gave it a try myself. If you’re running PostgreSQL in a Docker container, this setup is surprisingly easily, and it gives you a great performance dashboard without touching your base system. In this post, I’ll show… 

Unit Testing PostgreSQL with pgTAP

Introduction Unit testing is a fundamental practice in software development, ensuring that individual components function correctly. When working with PostgreSQL, testing database logic—such as functions, triggers, and constraints—is crucial for maintaining data integrity and reliability. One powerful tool for this purpose is pgTAP.pgTAP is a PostgreSQL extension that provides a set of TAP (Test Anything Protocol) functions for writing unit… 

pgTAP_featured_image

How to add Column Filtering to Vuetify Data Table

For a long time, my v-data-table-server implementation in the YaK only supported global search through a simple text input. While it was good enough for basic queries, I needed something more powerful—the ability to filter by individual columns using custom operators. Here’s a walkthrough of how I added column filters with v-select and v-text-field embedded in v-menu components right inside… 

How to add Column Filtering to Vuetify Data Table

Exploring FlyonUI with Vue.js: A Fresh and Evolving Library

As someone who has relied on Vuetify for most of my Vue.js projects, I’m always on the lookout for new libraries that can streamline development and keep designs modern. Recently, a new UI library called FlyonUI was released, and I decided to give it a spin. FlyonUI is a Tailwind CSS Components Library. To my surprise, it turned out to… 

Vue – Creating an Awesome Parallax Effect with Swiper

Adding a parallax effect to your website brings a smooth, professional feel, making it more interactive and visually appealing. With Swiper for Vue, you can easily implement parallax effects for a slideshow. In this guide, we’ll create a parallax effect using Vue 3 and explore additional features to enhance this effect. I. Create a New Vue 3 Project Let’s start… 

vuejs swiper

PostgreSQL 17: Enhancing JSON Support for Web Developers

PostgreSQL 17 introduces new features for working with JSON data. These features align PostgreSQL more closely with the SQL/JSON standard and improve the developer experience when dealing with semi-structured data. In this blog, we will explore the new JSON capabilities by walking through real-world examples using a table with a jsonb column. The JSON Data Challenge for Web Developers When… 

postgresql_json

Creating a Global and Custom Snackbar in Vue 3 Using Vuetify and Pinia

In this post, we’ll walk through how to implement a Global and Custom Snackbar in Vue 3 with Vuetify and Pinia for state management. We’ll set it up so that you can easily trigger the Snackbar from any component in your app. I. Set Up Your Vue App with Vuetify CLI To start, we’ll create our Vue 3 app using… 

Logo-Vuejs

Enhancing PostgreSQL Performance with Index Advisor and HypoPG

In database management, query performance is critical for efficient data retrieval. PostgreSQL, a powerful open-source database, offers various extensions to optimize and tune query performance. Two such extensions are Index Advisor and HypoPG. These tools help database administrators (DBAs) identify and test potential indexes to improve query performance without the overhead of creating and dropping indexes repeatedly. This blog will… 

PostgreSQL extensions blog

How to Use Dynamic Slots in Vue.js with Vuetify Data Table

Introduction In this tutorial, we will explore how to use dynamic slots in Vue.js with Vuetify data table. Firstly, we will start with a CompDataTable.vue component and demonstrate how to define and use custom slots to dynamically customize the content of a data table. Additionally, we will explain how the dynamic slots work. I’m not going to create a Vue.js… 

Logo-Vuejs