Percona Resources

Software
Downloads

All of Percona’s open source software products, in one place, to download as much or as little as you need.

Valkey Contribution

Product Documentation

Why Percona for MongoDB?

Why Percona for PostgreSQL?

Percona Blog

Percona Blog

Our popular knowledge center for all Percona products and all related topics.

Community

Percona Community Hub

A place to stay in touch with the open-source community

Events

Percona Events Hub

See all of Percona’s upcoming events and view materials like webinars and forums from past events

About

About Percona

Percona is an open source database software, support, and services company that helps make databases and applications run better.

Percona in the News

See Percona’s recent news coverage, press releases and industry recognition for our open source software and support.

Our Customers

Our Partners

Careers

Contact Us

David Stokes
David Stokes is a Technology Evangelist for Percona Corporation, is the author of MySQL & JSON - A Practical Programming Guide, and resides in Texas.

Data Masking With Percona Server for MySQL – An Enterprise Feature at a Community Price

Data masking is a handy tool to obscure sensitive information.  Percona Server for MySQL is a free, fully compatible, enhanced, and open source drop-in replacement for any MySQL database. It provides superior performance, scalability, and instrumentation including data masking. With Percona Server for MySQL, you get the enterprise features without the cost.   So how does […]

PHP 8.0 Reaches End of Life

While the LAMP stack – Linux/Apache/MySQL/PHP – is not the dominant platform it was a decade ago, there are still many websites that depend on it. One of the pillars of this quartet had a milestone last week when PHP 8.0 passed into End Of Life status. While it will still have limited security issue […]

MySQL: Using UNION, INTERSECT, & EXCEPT

MySQL 8.0.31 added INTERSECT and EXCEPT to augment the long-lived UNION operator. That is the good news. The bad news is that you have to be careful using the EXCEPT operator as there is a trick. Let’s start with some simple tables and load some simple data.

So each table has four rows of […]

Kubernetes: Getting Started With a Minimal MySQL Installation

This week is KubeCon in Detroit, and in preparation for attending I have been polishing up my Kubernetes skills. This big rush to put software in containers and have Kubernetes run everything is getting a lot of push in the industry. Many software applications run perfectly well in ready-made packages from a container made for […]

A Quick Peek at MySQL 8.0.31

Oracle releases updates to MySQL on a quarterly basis and the Release Notes for 8.0.31 arrived just before the software.  This time around there are some very interesting new features that will be handy including SQL standards support, as well as over 130 bug fixes. The TL;DR:  Some nice new features but nothing spectacular. FULL […]

PostgreSQL for MySQL DBAs Episode 11: A Survey of Indexes

First, a big thanks for the kind responses to this series, and, as requested, here is an overview of index types available in PostgreSQL. The supporting video with bonus material can be found here. PostgreSQL has several popular index types including B-tree, Hash, GiST, SP-GiST, GIN, and BRIN. Actually, a couple of those are frameworks […]

Getting Started with RocksDB in Percona Server for MySQL

You may have read MyRocks Use Case: Big Dataset and been intrigued enough to want to evaluate RocksDB with InnoDB.  It has several advantages including requiring less storage space. So how do you start? On a fresh install of Percona Server for MySQL, install RocksDB by entering sudo apt install percona-server-rocksdb:

Next, we can […]

PostgreSQL for MySQL DBAs: Watch Command

Those new to the realm of PostgreSQL from other databases will find little gems sprinkled liberally through the software.  One of those gems is the watch command. It can be used to repeatedly run a query over and over again. Pretend you are watching the progress of the importation of a CSV file and want […]

PostgreSQL For MySQL DBAs Episode 9: References

Thank you for the many kind responses to this series.  There are many out there who have MySQL experience and are seeking to expand into PostgreSQL for reasons ranging from simple curiosity to fortifying their professional skills. Now that we have covered the low-level basics, it is time to gain knowledge of some community resources […]

PostgreSQL for MySQL DBAs Episode 8: Materialized Views

Episode 8 in the PostgreSQL for MySQL DBAs series covers materialized views. MySQL has had views for many years and they are very useful, but it has never had materialized views. Those who use materialized views appreciate their utility and here we will cover how they are used.  This episode starts with regular, non-materialized views […]

A Quick Peek At MySQL 8.0.30

MySQL 8.0 is now over four years old and Oracle released the latest quarterly offering today with MySQL 8.0.30, which comes with lots of bug fixes and some interesting additions.  This is my take on the release notes for those who do not have the time to wade through them, comments in italics are my […]

PostgreSQL for MySQL DBAs Episode 7: Vacuuming Tables

Experienced MySQL DBAs exploring PostgreSQL are often shocked to learn that they will need to vacuum their tables. This is not using a Hoover brand-like device or letting a Roomba-like robot loose on the server. Vacuuming is a necessary part of maintenance on a PostgreSQL server.  This is why you need to watch Episode 7 […]

A Quick Peek At MySQL 8.0.29

Oracle released MySQL Server 8.0.29 on April 26th and this is a quick review of the release notes.  I have put my own comments in italics. So what is in the ’29 release of MySQL Server?  Does it come festooned with new, neat features or is it a big bug-fix bonanza? The TL;DR While this […]