PostgreSQL by VSHN

This is a preview - the Service is currently in development.

PostgreSQL, managed by VSHN for you.

PostgreSQL is a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads. The origins of PostgreSQL date back to 1986 as part of the POSTGRES project at the University of California at Berkeley and has more than 30 years of active development on the core platform.

— PostgreSQL Website

Features

Standalone

Availability

Number of replicas

1 primary replica

No downtime during Maintenance

Multiple logical databases per instance

Multiple users per instance

Super-user access

Maximum supported size of database

500 GiB [1]

Connection limits

25 connections per GiB of RAM

Guaranteed performance

[2]

High availability

Support

(see Support Plans)

More architectures will be documented once available.

The following common features are available as well:

Self-Service Instance Provisioning and Configuration

Service instances can be self-service ordered and are provisioned fully automated in the background. Access to self-service provisioning is provided via custom Kubernetes configuration objects in the Kubernetes cluster or via Open Service Broker API (on request).

Best-Practice Configuration Management

Services are configured with best practices and the configuration is updated continuously as we learn improvements during day-2 operations and from the community. Industry standards are used for security configuration and wherever possible TLS encrypted connections are offered by default.

Maintenance and Security Operations

Patch updates are applied as they get available. We monitor security information for services and apply zero-day patches or workaround configuration as they become available.

Data Protection and Recovery

All services offer a regular backup option. See Data Protection for more details.

Service Metrics

Performance metrics are collected regularly and are available as graphs to the user. The metrics are automatically monitored and acted upon irregularities, see Monitoring and Alerting below.

Monitoring and Alerting

Service Level Indicators are monitored and alerted upon. Depending on the service level alerts are automatically handled by a VSHNeer.

Service Logging

All logs are collected and are available to debug service errors.

Support by VSHN or Vendor

Support for all services are available from VSHN support engineers. Depending on the service, additional support by the software vendor or a third-party might be available.

Supported versions

Supported versions:

See Versioning Policy of the PostgreSQL project to read about the timeframes of support. Once a version isn’t supported anymore by the upstream project, we’ll stop supporting the version as well.

Upgrade Policy

  • We only support a version as long as it’s supported upstream

  • 3 months before the support ends ("Final Release") the grace period starts, and you’re urged to migrate to a supported version

  • Once the support for a service has ended, all managed services are stopped, but the service still continues to run, but without any guarantee

  • We currently do not offer an in-place upgrade of Major versions. To switch to a newer Major version (for example from version 13 to version 14) a new instance has to be deployed, and the data has to be migrated manually.

SLIs

SLA relevant

According to the service levels the SLI "Up" is defined as follows:

Condition "Up"
  • PostgreSQL responds to 95% of "select 1" requests within a 1-minute interval. The requests are originating from within the same cluster.

Condition "Down"
  • PostgreSQL is not responding to "select 1" requests within a 1-minute interval.

Incident Prevention

The following SLIs are defined to prevent incidents:

  • The configured storage volume is 90% full.

  • The remaining available connections are less than 10% over 30 minutes

  • The remaining memory available is less than 10% over 30 minutes

Recurring Maintenance

Planned Maintenance Activities
  • Update the base container image with the latest patched version, causes service restart

  • Update of the PostgreSQL version to the latest available Minor or Patch version (for example from 14.1 to 14.2), causes service restart

  • Configuration improvements as we learn new best-practices or some configuration proved to be non-optimal

Mandatory Maintenance Activities
  • Security issue (CVE) mitigation by updating to a patched version or configuration adjustments, usually causes service restart

  • Regular maintenance on the underlying platform, usually causing up to 2 restarts per replica

Maintenance Windows
  • Automated once a week

  • Day and time can be configured per service instance

  • Default is a random time in the night from Tuesday to Wednesday

Users responsibilities

As a DevOps company, we believe in its collaborative approach. Flawless service is only possible through a sense of responsibility on both sides. Accordingly, we rely on the user to consider the following points:

  • Choose reasonably sized resources for the software using the service

  • Act early when an increase of service usage is foreseen (for example increase resources)

  • Rely on best-practices for using the service

  • Choose a matching service level for your use-case

Behind the scenes

This service is provided by our AppCat Service Provider for PostgreSQL. It uses the Bitnami Helm Chart and the Bitnami PostgreSQL container image. Service instances are running on the same Kubernetes cluster as the service instance was ordered in.

Pricing

Architecture Service Level

Best Effort

Guaranteed Availability

Converged Standalone

CHF 0.00277778 per minute
CHF 120.00 per 30 days

CHF 0.00833334 per minute
CHF ~360.00 per 30 days

  • All prices are per instance

  • Excl. Compute resources

  • Validity: These prices are valid starting 2022-XX-XX until further notice.

See Pricing for more details.

Available PostgreSQL extensions

Table 1. Available extensions for PostgreSQL version 14
Name Version Comment

postgis

3.1.5

PostGIS geometry and geography spatial types and functions

address_standardizer

3.1.5

Used to parse an address into constituent elements. Generally used to support geocoding address normalization step.

sslinfo

1.2

information about SSL certificates

pg_trgm

1.6

text similarity measurement and index searching based on trigrams

lo

1.1

Large Object maintenance

dblink

1.2

connect to other PostgreSQL databases from within a database

dict_int

1.0

text search dictionary template for integers

pg_prewarm

1.2

prewarm relation data

pg_stat_statements

1.9

track planning and execution statistics of all SQL statements executed

unaccent

1.1

text search dictionary that removes accents

adminpack

2.1

administrative functions for PostgreSQL

plpgsql

1.0

PL/pgSQL procedural language

old_snapshot

1.0

utilities in support of old_snapshot_threshold

tablefunc

1.0

functions that manipulate whole tables, including crosstab

pgcrypto

1.3

cryptographic functions

hstore

1.8

data type for storing sets of (key, value) pairs

intagg

1.1

integer aggregator and enumerator (obsolete)

postgis_raster

3.1.5

PostGIS raster types and functions

earthdistance

1.1

calculate great-circle distances on the surface of the Earth

pgrowlocks

1.2

show row-level locking information

pg_freespacemap

1.2

examine the free space map (FSM)

postgis_tiger_geocoder

3.1.5

PostGIS tiger geocoder and reverse geocoder

citext

1.6

data type for case-insensitive character strings

bloom

1.0

bloom access method - signature file based index

refint

1.0

functions for implementing referential integrity (obsolete)

file_fdw

1.0

foreign-data wrapper for flat file access

pg_surgery

1.0

extension to perform surgery on a damaged relation

autoinc

1.0

functions for autoincrementing fields

pg_buffercache

1.3

examine the shared buffer cache

ltree

1.2

data type for hierarchical tree-like structures

tsm_system_time

1.0

TABLESAMPLE method which accepts time in milliseconds as a limit

xml2

1.1

XPath querying and XSLT

pljava

1.6.4

PL/Java procedural language (tada.github.io/pljava/)

insert_username

1.0

functions for tracking who changed a table

tsm_system_rows

1.0

TABLESAMPLE method which accepts number of rows as a limit

amcheck

1.3

functions for verifying relation integrity

pg_visibility

1.2

examine the visibility map (VM) and page-level visibility info

pgautofailover

1.6

pg_auto_failover

isn

1.2

data types for international product numbering standards

pgaudit

1.6.2

provides auditing functionality

moddatetime

1.0

functions for tracking last modification time

postgres_fdw

1.1

foreign-data wrapper for remote PostgreSQL servers

btree_gin

1.3

support for indexing common datatypes in GIN

fuzzystrmatch

1.1

determine similarities and distance between strings

pgstattuple

1.5

show tuple-level statistics

uuid-ossp

1.1

generate universally unique identifiers (UUIDs)

tcn

1.0

Triggered change notifications

pageinspect

1.9

inspect the contents of database pages at a low level

address_standardizer_data_us

3.1.5

Address Standardizer US dataset example

cube

1.5

data type for multidimensional cubes

postgis_topology

3.1.5

PostGIS topology spatial types and functions

orafce

3.21

Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS

intarray

1.5

functions, operators, and index support for 1-D arrays of integers

seg

1.4

data type for representing line segments or floating-point intervals

btree_gist

1.6

support for indexing common datatypes in GiST

dict_xsyn

1.0

text search dictionary template for extended synonym processing

A list is available directly in the database with select * from pg_available_extensions;. Other versions than PostgreSQL 14 have different versions of the extensions available, please check directly in the running instance which exact versions are installed. To use an exension in your database, consult the documentation on CREATE EXTENSION — install an extension.


1. Cumulated over all logical databases
2. depends on the underlying platform