News from EDB, including company and PostgreSQL announcements and events
Listening to Postgres: How LISTEN and NOTIFY Syntax Promote High Availability at the Application LayerShaun Thomas —11/8/2022
Postgres provides several tools to simplify application development. Triggers, for example, allow one event to automatically invoke subsequent inserts, updates, or deletes to either reinforce business logic, or for auditing purposes. But are they valid for all such scenarios? Are there times when triggers would be detrimental to performance and scalability? What are our alternatives? Well, there’s only one way to find out!
Harnessing Shared Buffers - Part 2Shaun Thomas —10/26/2022
In Part 1, we examined how Postgres behaves on older hardware with various allocations of Shared Buffers. This time we repeat those benchmarks on more contemporary hardware equipped with modern SSD storage. The difference this makes is dramatic and has far reaching implications. Join us as we discuss the continuing role of Shared Buffers in modern server deployments!
How to Set Up Streaming Replication to Keep Your PostgreSQL Database Performant and Up-to-DateManish Yadav —10/12/2022
Streaming replication is a core utility of PostgreSQL introduced in version 9.0. Streaming replication allows a standby server to stay more up-to-date than is possible with file-based log shipping.
Postgres vs. File Systems: A Performance ComparisonTomas Vondra—10/10/2022
One of the guiding Postgres design principles is heavy reliance on features provided by the environment (particularly operating system) and file systems are a prime example of this. Unlike other databases Postgres never supported raw devices that would require implementing a “custom” file system.
Harnessing Shared Buffers (and Reaping the Performance Benefits) - Part 1Shaun Thomas —10/7/2022
Postgres Shared Buffers remains one of the most difficult parameters to configure since its inception. Beyond an initial estimate, query patterns, relative storage performance, available resources, and realistic limits can all influence the final value entered here. Or is the picture far simpler than we thought? This is the first in a two-part series discussing the role of shared buffers in the past, and on more modern systems.
PG Phriday: Defining High Availability in a Postgres WorldShaun Thomas —8/26/2022
What does High Availability actually mean when we’re discussing Postgres clusters? High Availability Architect, Shaun Thomas, explores answers to this question in this week's installment of PGPhriday.
Ansible Benchmark Framework for PostgreSQLDave Page—8/25/2022
This blog introduces a new benchmark framework for performance testing of PostgreSQL and EDB Postgres Advanced Server. Based on Ansible, it offers a highly configurable and easy to use way to run pgbench, TPROC-C, and TPROC-H tests across multiple servers at once in a consistent and reproducible manner. PostgreSQL and the operating system kernel can be configured and tuned as required, all using Ansible's Jinja2 templating to allow different runs to automatically use different parameters. Extensive logging and monitoring is also included, as well as hooks to allow customisation for installing and configuring your own extensions during test initialisation and logging custom stats.
PG Phriday: Do’s and Don’ts of Postgres High Availability Q&AShaun Thomas —8/8/2022
In the wake of Postgres Build 2021, High Availability Architect Shaun Thomas follows up on some of the questions he wasn't able to answer during his session on High Availability.
New ORDER BY and LIMIT OFFSET Pushdown Features Increase Agility in mysql_fdwSuraj Kharage—6/1/2022
More exciting news for mysql_fdw users! Previously we have talked about Join pushdown and Aggregate pushdown features in mysql_fdw. A recent mysql_fdw release, 2.8.0, now includes more pushdown features: ORDER BY and LIMIT OFFSET pushdown.
Use of the Master Password in pgAdmin 4Akshay Joshi—4/22/2022
pgAdmin 4 introduced the Master Password in order to secure and later unlock saved server passwords. Any password that is saved in the SQLite DB file - used for storing user preferences and other data - through the save password or save SSH tunnel password option will be encrypted and decrypted using the master password.
Steady Storage StampedeShaun Thomas —4/21/2022
High Availability is more than just choosing the right architecture, replication tools, and failover systems. Storage can play a surprisingly important role in server responsiveness, as can somewhat obscure operating system tuning parameters. This week in PG Phriday, we’re going to examine just how important storage behavior can be to Postgres High Availability.
This Year’s Grammys Demonstrate Technology Innovation Driving Engagement Across the Music IndustryEDB Team—4/4/2022
The 64th Annual Grammy awards were a showcase for disruption. As an industry that once viewed technologies such as digitization and streaming as threats to creativity and profitability, the Awards demonstrated quite the opposite across the music industry.
PG Phriday: Tidying Up With VACUUMShaun Thomas —4/1/2022
Hot on the heels of our discussion on preventing Postgres XID wraparound using basic monitoring, let’s talk about arresting the risk almost entirely through Autovacuum. With a few relatively minor tweaks to our configuration and focusing on the occasional problematic table, we can both increase maintenance throughput, and also reduce impact on client queries. Let’s demystify the art of VACUUM and keep our cluster self-maintaining in the bargain.
pgAdmin 4 Browser TreeKhushboo Vashi—3/23/2022
The pgAdmin 4 browser tree is a crucial component from the UI perspective as it lists all the database server objects and all other functionality relies on it. As it lists thousands of objects, the performance of the tree was a concern for the team. In 2020, we decided to move from Backbone to React, so after doing some R & D work, we came to the conclusion to implement the browser tree from scratch using the React Aspen Tree package.
PG Phriday: Wrapping Transactions Right RoundShaun Thomas —3/17/2022
Since transactions and replication within Postgres are essential to all types of availability, that means keeping the transaction ID state healthy. This Phriday we’ll cover the best configuration settings for avoiding this and take a look at what kind of monitoring we can employ as an early warning system. Don’t let the prospect of Postgres XID wraparound make you dizzy!
Tuning max_wal_size in PostgreSQLDave Page—3/17/2022
Tuning of the max_wal_size configuration parameter in PostgreSQL can have a profound effect on performance, but it's often overlooked or not given the priority it deserves in favour of other parameters, such as those that are easier to understand. In this blog we'll discuss what the parameter does, how to tune it, and how to monitor the system to ensure the tuning is effective.
Top 4 Considerations for Adopting Cloud Database ServicesEDB Team—3/3/2022
Recently, the EDB team hosted a webinar entitled "Top 4 Considerations for Adopting Cloud Database Services," highlighting the motivating factors behind adopting cloud database services
Replication RevueShaun Thomas —2/24/2022
The types of Postgres clusters we can build to achieve high availability is highly dependent on the replication technologies we employ, both now, and in the future. Let’s explore how Postgres replication evolved to what it is today, and how it could grow in the future. By understanding this, we can design clusters that take full advantage of the tools Postgres makes available, and be ready for coming enhancements.
BigAnimal: Fully managed PostgreSQL in the cloud
BigAnimal features Oracle compatibility, built-in high availability, and 24/7 support from our team of PostgreSQL experts.Learn more
Demo of Oracle SQL compatibility in BigAnimal
BigAnimal lets you run Oracle SQL queries in the cloud via EDB Postgres Advanced Server. Watch the video, or load up psql and follow along.Learn more