Skip to main content

Others

Postgres Extensions

PostGIS - used for geospatial data manipulation and running location queries in SQL

https://medium.com/@tjukanov/why-should-you-care-about-postgis-a-gentle-introduction-to-spatial-databases-9eccd26bc42b

  1. Key-Value data type (hstore)
  2. Semi-structured data types
  3. pg_timetable - Advanced postgres job scheduling

https://www.cybertec-postgresql.com/en/pg_timetable-advanced-postgresql-job-scheduling

SELECT * FROM pg_available_extensions;

tablefuncfunctions that manipulate whole tables, including crosstab
adminpackadministrative functions for PostgreSQL
amcheckfunctions for verifying relation integrity
tsm_system_rowsTABLESAMPLE method which accepts number of rows as a limit
isndata types for international product numbering standards
pageinspectinspect the contents of database pages at a low level
btree_gistsupport for indexing common datatypes in GiST
moddatetimefunctions for tracking last modification time
insert_usernamefunctions for tracking who changed a table
intagginteger aggregator and enumerator (obsolete)
pg_buffercacheexamine the shared buffer cache
fuzzystrmatchdetermine similarities and distance between strings
cubedata type for multidimensional cubes
uuid-osspgenerate universally unique identifiers (UUIDs)
dict_inttext search dictionary template for integers
segdata type for representing line segments or floating-point intervals
dict_xsyntext search dictionary template for extended synonym processing
earthdistancecalculate great-circle distances on the surface of the Earth
pgcryptocryptographic functions
sslinfoinformation about SSL certificates
pg_prewarmprewarm relation data
tcnTriggered change notifications
loLarge Object maintenance
pgrowlocksshow row-level locking information
tsm_system_timeTABLESAMPLE method which accepts time in milliseconds as a limit
dblinkconnect to other PostgreSQL databases from within a database
pg_trgmtext similarity measurement and index searching based on trigrams
citextdata type for case-insensitive character strings
xml2XPath querying and XSLT
plpgsqlPL/pgSQL procedural language
autoincfunctions for autoincrementing fields
refintfunctions for implementing referential integrity (obsolete)
unaccenttext search dictionary that removes accents
timetravelfunctions for implementing time travel
pgstattupleshow tuple-level statistics
postgres_fdwforeign-data wrapper for remote PostgreSQL servers
file_fdwforeign-data wrapper for flat file access
pg_freespacemapexamine the free space map (FSM)
hstoredata type for storing sets of (key, value) pairs
btree_ginsupport for indexing common datatypes in GIN
pg_stat_statementstrack execution statistics of all SQL statements executed
intarrayfunctions, operators, and index support for 1-D arrays of integers
bloombloom access method - signature file based index
ltreedata type for hierarchical tree-like structures
pg_visibilityexamine the visibility map (VM) and page-level visibility info

pgagroal

pgagroal is a high-performance protocol-native connection pool for PostgreSQL.

Features

  • High performance
  • Connection pool
  • Limit connections for users and databases
  • Prefill support
  • Remove idle connections
  • Perform connection validation
  • Graceful / fast shutdown
  • Daemon mode
  • User vault

GitHub - agroal/pgagroal: High-performance connection pool for PostgreSQL

pgagroal

PgBouncer

PgBouncer is a lightweight connection pooler for PostgreSQL

https://github.com/pgbouncer/pgbouncer/blob/master/etc/pgbouncer.ini

DATABASES_HOST:"zpg-postgresql-headless.example"
DATABASES_PORT:"5432"
DATABASES_USER:"postgres"
DATABASES_PASSWORD:"xitanez123"
DATABASES_DBNAME:"example_db_new"
PGBOUNCER_LISTEN_PORT:"5432"
PGBOUNCER_MAX_CLIENT_CONN:"10000"
PGBOUNCER_DEFAULT_POOL_SIZE:"100"
PGBOUNCER_MAX_DB_CONNECTIONS:"100"
PGBOUNCER_MAX_USER_CONNECTIONS:"100"
PGBOUNCER_MIN_POOL_SIZE:"10"
PGBOUNCER_SERVER_IDLE_TIMEOUT:"600"
PGBOUNCER_CLIENT_IDLE_TIMEOUT:"600"

Using PGBouncer with Consul for Postgresql high availability | by Sasha Aliashkevich | Digitalis.io Blog

Odyssey

Advanced multi-threaded PostgreSQL connection pooler and request router.

https://github.com/yandex/odyssey

Postgres on Kubernetes - Patroni

GitHub - zalando/patroni: A template for PostgreSQL High Availability with Etcd, Consul, ZooKeeper, or Kubernetes

Introduction - Patroni 3.2.2 documentation

High Availability PostgreSQL Cluster using Patroni and HAProxy

Article Detail

pgbackrest

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 and checksums, delta restore, and much more.

https://info.crunchydata.com/blog/how-to-get-started-with-pgbackrest-and-postgresql-12

https://www.kubegres.io/

Pgroll

GitHub - xataio/pgroll: PostgreSQL zero-downtime migrations made easy

Introducing pgroll: zero-downtime, reversible, schema migrations for Postgres

Foreign Data Wrappers (FDWs)

Foreign data wrappers (FDWs) allow PostgreSQL to connect to and query data from external data sources. They provide a virtual table interface to remote data, enabling seamless integration. Examples include postgres_fdw for PostgreSQL-to-PostgreSQL integration or file_fdw for accessing data in flat files.

Others