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

  • 8 min read

    Creating a PostgreSQL Cluster with Kubernetes CRDs

    Jonathan S. Katz

    The PostgreSQL Operator provides users with a few different methods to perform PostgreSQL cluster operations, via:

    • a REST API
    • pgo, PostgreSQL Operator Command Line Interface (CLI)
    • Directly interfacing with Kubernetes, including various APIs and custom resource definitions
    Read More
  • Just Upgrade: How PostgreSQL 12 Can Improve Your Performance

    Jonathan S. Katz

    PostgreSQL 12, the latest version of the "world's most advanced open source relational database," is being released in the next few weeks, barring any setbacks. This follows the project's cadence of providing a raft of new database features once a year, which is quite frankly, amazing and one of the reasons why I wanted to be involved in the PostgreSQL community.

    In my opinion, and this is a departure from previous years, PostgreSQL 12 does not contain one or two single features that everyone can point to and say that "this is the 'FEATURE' release," (partitioning and query parallelism are recent examples that spring to mind). I've half-joked that the theme of this release should be "PostgreSQL 12: Now More Stable" -- which of course is not a bad thing when you are managing mission critical data for your business.

    And yet, I believe this release is a lot more than that: many of the features and enhancements in PostgreSQL 12 will just make your applications run better without doing any work other than upgrading!

    Read More
  • 3 min read

    Waiting for PostGIS 3: GEOS 3.8

    Paul Ramsey

    While PostGIS includes lots of algorithms and functionality we have built ourselves, it also adds geospatial smarts to PostgreSQL by linking in specialized libraries to handle particular problems:

    • Proj for coordinate reference support;
    • GDAL
    Read More
  • 3 min read

    Waiting for PostGIS 3: Parallelism in PostGIS

    Paul Ramsey

    Parallel query has been a part of PostgreSQL since 2016 with the release of version 9.6 and in theory PostGIS should have been benefiting from parallelism ever since.

    In practice, the complex nature of PostGIS has meant that very few queries would parallelize under normal operating configurations -- they could only be forced to parallelize using oddball

    Read More
  • 2 min read

    Waiting for PostGIS 3: ST_TileEnvelope(z,x,y)

    Paul Ramsey

    With the availability of MVT tile format in PostGIS via ST_AsMVT(), more and more people are generating tiles directly from the database. Doing so usually involves a couple common steps:

    Read More
  • 3 min read

    Waiting for PostGIS 3: Separate Raster Extension

    Paul Ramsey

    The raster functionality in PostGIS has been part of the main extension since it was introduced. When PostGIS 3 is released, if you want raster functionality you will need to install both the core postgis extension, and also the postgis_raster extension.

    CREATE EXTENSION postgis;
    CREATE EXTENSION postgis_raster;
    
    Read More
  • How To Correct and Identify Indexes Affected by the GNU C 2.28 Update

    David Thomas

    Version 2.28 (release notes) of the GNU C library introduces many changes to the collations it provides. Collations determine how strings are compared and by default, PostgreSQL uses the operating system’s collations which on Linux means glibC. When your operating system updates to this version of glibc and you aren't using the “C” or “POSIX” collation, you may encounter some differently ordered indexes. This unexpected change in the order of indexes will lead to incorrectly ordered query results and possible data corruption. Currently, the following distributions are affected:

    • Ubuntu 18.10 (cosmic)
    • RHEL/CentOS 8
    • Debian 10 (buster)
    Read More
  • 2 min read

    Waiting for PostGIS 3: ST_AsMVT Performance

    Paul Ramsey

    Vector tiles are the new hotness, allowing large amounts of dynamic data to be sent for rendering right on web clients and mobile devices, and making very beautiful and highly interactive maps possible.

    Since the introduction of ST_AsMVT()

    Read More
  • 2 min read

    Waiting for PostGIS 3: Hilbert Geometry Sorting

    Paul Ramsey

    With the release of PostGIS 3.0, queries that ORDER BY geometry columns will return rows using a Hilbert curve ordering, and do so about twice as fast.

    Whuuuut!?!

    The history of "ordering by geometry" in PostGIS is mostly pretty bad. Up until version 2.4 (2017), if you did ORDER BY

    Read More
  • 2 min read

    Waiting for PostGIS 3: ST_AsGeoJSON(record)

    Paul Ramsey

    With PostGIS 3.0, it is now possible to generate GeoJSON features directly without any intermediate code, using the new ST_AsGeoJSON(record) function.

    The GeoJSON format is a common transport format, between servers and web clients, and even between components of processing chains. Being able to create useful GeoJSON is important for integrating different parts in a modern geoprocessing application.

    PostGIS has had an ST_AsGeoJSON(geometry)

    Read More