Introducing Crunchy Data Warehouse: A next-generation Postgres-native data warehouse. Crunchy Data Warehouse Learn more

Posts about Production Postgres

  • Setup ora2pg for Oracle to Postgres Migration

    Yorvi Arias

    An important part of performing a migration from Oracle to PostgreSQL is selecting the right tool for helping with the conversion between systems. When people ask me how they can get the migration process started, I like to recommend a powerful open source utility called " ora2pg ". As the name suggests, ora2pg is a tool that migrates Oracle (or MySQL) databases to PostgreSQL by generating compatible SQL files As the documentation states, ora2pg “connects your Oracle database, scans it automatic...

    Read More
  • How to Recover When PostgreSQL is Missing a WAL File

    David Youatt

    Creation and clean up of WAL files in the primary's folder ( prior to PG10) is a normal part of PostgreSQL operation. The WAL files on the primary are used to ensure data consistency during crash recovery. Use of write-ahead logs (also called redo logs or transaction logs in other products) is common for data stores that must provide durability and consistency of data when writing to storage. The same technique is used in modern journaling and log-structured filesystems. As the DB is operatin...

    Read More
  • Control Runaway Postgres Queries With Statement Timeout

    Craig Kerstiens

    Most queries against a database are short lived. Whether you're inserting a new record or querying for a list of upcoming tasks for a user, you're not typically aggregating millions of records or sending back thousands of rows to the end user. A typical short lived query in Postgres can easily be accomplished in a few milliseconds or less. For the typical application, this means a well tuned production Postgres database is capable of easily running thousands or up to hundreds of thousands of q...

    Read More
  • Optimize PostgreSQL Server Performance Through Configuration

    Tom Swartz

    By design, the out of the box configuration for PostgreSQL is defined to be a "Jack of All Trades, Master of None". The default configuration for PostgreSQL is fairly painstakingly chosen to ensure that it will run on every environment it is installed, meeting the lowest common denominator resources across most platforms. Because of this, it's always recommended that one of the first actions performed once an install of PostgreSQL is completed, would be to tune and configure some high-level se...

    Read More
  • Guard Against Transaction Loss with PostgreSQL Synchronous Replication

    Andrew L'Ecuyer

    Crunchy Data recently released its latest version of the open source PostgreSQL Operator for Kubernetes , version 4.2. Among the various enhancements included within this release is support for Synchronous Replication within deployed PostgreSQL clusters. As discussed in our prior post , the PostgreSQL Operator 4.2 release introduces distributed consensus based high-availability . For workloads that are sensitive to transaction loss, the Crunchy PostgreSQL Operator supports PostgreSQL synchro...

    Read More
  • Migrating from Oracle to PostgreSQL: Tips and Tricks

    Yorvi Arias

    Migrating to PostgreSQL from Oracle is a topic that often comes up in discussions around PostgreSQL. At Crunchy Data, we are of course not surprised that there is broad interest in moving to the world's most advanced database. There are a lot of great reasons to migrate to PostgreSQL, and if you haven't looked at PostgreSQL lately, it would be a good time to do so again given the various improvements in PostgreSQL 12. That said, migrating from one database to another is inherently new technology...

    Read More
  • How To Simplify pgBouncer Monitoring with pgbouncer_fdw

    Keith Fiske

    For connection pooling in PostgreSQL, one of the best and most popular tools out there is PgBouncer . However, monitoring PgBouncer can be challenging due to its use of SHOW commands, which are only available via a special database connection as opposed to making its statistics available via a standard table or view. In order to more easily monitor PgBouncer, the team at Crunchy Data developed an open source PgBouncer Foreign Data Wrapper (pgbouncer_fdw). This blog post describes why monitoring...

    Read More
  • How to Perform a Major Version Upgrade Using pg_upgrade in PostgreSQL

    James Chanco Jr.

    Odds are you've been tasked with upgrading software from one major release to another at some point. Trust me, I understand how cumbersome and difficult these upgrades can be! Luckily, Crunchy Data has some tested methods to help get you upgraded with the least amount of headache possible! For this use case, we’ll be using pg_upgrade. Let’s get started! This part is critical to a successful and healthy upgrade: read the release notes. Sometimes, even within minor upgrades, additional steps may b...

    Read More
  • Hope Is Not A Strategy: How Hardware Issues Affect Your PostgreSQL Data

    Joe Conway

    For anyone following my previous blog posts, this is a bit of a departure for me. Typically, I get down in the weeds and show lots of code. This post, on the other hand, is more of a philosophical rant. At least you can't say I didn't warn you! Yesterday I was made aware of this bulletin from HPE , which alerts that certain models of HPE SSDs have a firmware bug that will cause the drives to deterministically fail very suddenly at precisely 32,768 hours of operation. You may recognize this as a...

    Read More
  • How To Get Started with pgBackRest and PostgreSQL 12

    Tom Swartz

    pgBackRest is a reliable and simple to configure backup and restore solution for PostgreSQL, which provides a powerful solution for any PostgreSQL database; be it a small project, or scaled up to enterprise-level use cases. Many powerful features are included in pgBackRest, including parallel backup and restore, local or remote operation, full, incremental, and differential backup types, backup rotation, archive expiration, backup integrity, page checksums, backup resume, streaming compression a...

    Read More