Installing PostgreSQL Extensions via RPMs

This document includes detailed information about installing and configuring PostgreSQL extensions on RPM based systems.

Extension how-to docs

Foreign Data Wrappers
firebird_fdw :Foreign data wrapper (FDW) to connect PostgreSQL to Firebird
hdfs_fdw: :Foreign Data Wrapper (FDW) for the Hadoop File System
mysql_fdw : PostgreSQL extension implements a Foreign Data Wrapper (FDW) for MySQL and its derivatives
multicorn2 : Allows you to fetch foreign data in Python in your PostgreSQL server
odbc_fdw : Implements a Foreign Data Wrapper (FDW) for remote databases using Open Database Connectivity (ODBC)
ogr_fdw : a Foreign Data Wrapper (FDW) handler of PostgreSQL which provides easy way for interacting with OGR
oracle_fdw : Foreign Data Wrapper for easy and efficient read access from PostgreSQL to Oracle databases
pgbouncer_fdw : provides a direct SQL interface to the pgbouncer SHOW commands
sqlite_fdw : Foreign Data Wrapper for SQLite
tds_fdw : PostgreSQL foreign data wrapper that can connect to databases that use the Tabular Data Stream (TDS) protocol, such as Sybase databases and Microsoft SQL server
DBA Tools
ddlx : SQL-only extension for PostgreSQL that provides uniform functions for generating SQL Data Definition Language (DDL) scripts for objects created in a database
hypopg : PostgreSQL extension adding support for hypothetical indexes
logerrors : Collects statistics about messages in logfile
login_hook : Execute some code on user login, comparable to Oracle's after logon trigger
pgagent : Job scheduler for PostgreSQL which may be managed using pgAdmin
pg_cron : Simple cron-based job scheduler for PostgreSQL that runs inside the database as an extension
pg_ddl_deploy : Provides transparent DDL replication for both pglogical and native logical replication
pg_dirtyread : Provides the ability to read dead but unvacuumed rows from a relation
pg_failover_slots : Makes logical replication slots practically usable across physical failover
pgfincore : Set of functions to manage blocks in memory
pg_hint_plan : makes it possible to tweak PostgreSQL execution plans using so-called "hints" in SQL comments, like /*+ SeqScan(a) */
pg_jobmon : Job logging and monitoring extension for PostgreSQL
pgmeminfo : Display memory usage information of a PostgreSQL server
pg_partman : Create and manage both time-based and number-based table partition sets
pg_prioritize : An interface to getpriority() and setpriority() for PostgreSQL backends, callable from SQL functions
pg_profile : Find out most resource intensive activities in your PostgreSQL databases
pg_qualstats : Keeps statistics on predicates found in WHERE statements and JOIN clauses
pg_readme : Provides functions to generate a README.md document for a database extension or schema
pg_readonly : Allows to set all cluster databases read only
pg_repack : Remove bloat from tables and indexes, and optionally restore the physical order of clustered indexes without holding an exclusive lock
pgsql_tweaks : Several functions and views to help daily PostgreSQL work
pg_squeeze : Removes unused space from a table and optionally sorts tuples according to particular index
pg_stat_kcache : Gathers statistics about real reads and writes done by the filesystem layer
pg_store_plans : Provides a means for tracking execution plan statistics of all SQL statements executed by a server
pg_wait_sampling : Provides an information about current wait event of particular process
sslutils : Provides SSL certificate generation functions to Postgres
system_stats : Provides functions to access system level statistics that can be used for monitoring
Application Developers
pg_net : PostgreSQL tool for transferring data with URL syntax
pg_net : Enables PostgreSQL to make asynchronous HTTP/HTTPS requests in SQL
pgmemcache : PostgreSQL user-defined functions that provide an interface to memcached
PgQ : Provides generic, high-performance lockless queue with simple API based on SQL functions
pgsql_gzip : Gzip compress and decompress for PostgreSQL
pgsql_http : HTTP client for PostgreSQL, retrieve a web page from inside the database
pg_statement_rollback : Adds server side transaction with rollback at statement level like in Oracle or DB2
postgresql_faker : Generate random-but-meaningful datasets for functional testing, anonymization, training data, etc.
Data Types and extra functions
ip4r : IPv4/v6 and IPv4/v6 range index type for PostgreSQL
pg_extra_time : Some extra date time functions and operators
pgmp : PostgreSQL data types wrapping the high performance integer and rational data types offered by the GMP library
pgpdf : pdf data type for PostgreSQL
pguint : Provides additional integer types for PostgreSQL
pguri : Provides a uri data type
pg_uuidv7 : Creates valid version 7 UUIDs in PostgreSQL
postgresql-numeral : Provides numeric data types for PostgreSQL that use numerals (words instead of digits) for input and output
postgresql_unit : Implements a PostgreSQL datatype for SI units, plus byte
semver : Implementation of the version number format specified by the Semantic Versioning 2.0.0 Specification
sequential_uuids : Implements two UUID generators with sequential patterns
timestamp9 : An efficient nanosecond precision timestamp type for PostgreSQL
Replication
pglogical : Logical replication system implemented entirely as a PostgreSQL extension
Procedural Languages
luapgsql : Lua binding for PostgreSQL
pg_tle : Lets developers extend and deploy new PostgreSQL functionality with lower administrative and technical overhead
pldebugger : Set of shared libraries which implement an API for debugging PL/pgSQL functions on PostgreSQL
PL/Lua : Module for the PostgreSQL database that allows server-side functions to be written in Lua
plpgsql_check : Direct or indirect extra validation of functions written in PL/pgSQL
plprofiler : PL/pgSQL profiler
PL/R : Procedural Language Handler for the "R software environment for statistical computing and graphics"
PL/sh : Procedural language handler for PostgreSQL that allows you to write stored procedures in a shell of your choice
Monitoring
bgw_replstatus : Tiny background worker to cheaply report the replication status of a node
pg_auth_mon : Eases monitoring of login attempts to your database
pgexporter_ext : Provides additional Prometheus metrics for pgexporter
pg_stat_monitor : PostgreSQL Query Performance Monitoring tool, based on PostgreSQL's contrib module pg_stat_statements
Analytics
count_distinct : Provides an alternative to COUNT(DISTINCT ...) which for large amounts of data often ends in sorting and poor performance
extra_window_functions : Provides additional window functions to PostgreSQL
hll : Introduces a new data type hll which is a HyperLogLog data structure
pg_incremental : Fast, reliable, incremental batch processing in PostgreSQL
tdigest : Data structure for on-line accumulation of rank-based statistics such as quantiles and trimmed means
TopN : Returns the top values in a database according to some criteria
Oracle compatibility
orafce : Provides functions and operators that emulate a subset of functions and packages from the Oracle RDBMS
pg_dbms_job : Provides full compatibility with the DBMS_JOB Oracle module
pg_dbms_lock : Manages advisory locks in a way compatible to Oracle DBMS_LOCK package
pg_dbms_metadata : Extracts DDL of database objects in a way compatible to Oracle DBMS_METADATA package
Indexing
pg_bigm : Allows a user to create 2-gram (bigram) index for faster full text search
rum : Access method to work with RUM index.
Security
credcheck : Provides few general credential checks, which will be evaluated during the user creation, during the password change and user renaming
passwordcheck_cracklib : Regular PostgreSQL passwordcheck extension, built with >cracklib
pgauditlogtofile : Addon to pgAudit that will redirect audit log lines to an independent file, instead of using PostgreSQL server logger
pgaudit : Provides detailed session and/or object audit logging via the standard PostgreSQL logging facility
pgsodium : Encryption library extension for PostgreSQL using the libsodium library for high level cryptographic algorithms
pg_track_settings : Helps you keep track of Postgresql settings configuration
set_user : Allows switching users and optional privilege escalation with enhanced logging and control
Geospatial
h3-pg : PostgreSQL bindings for the H3 Core Library
pgrouting : Extends the PostGIS / PostgreSQL geospatial database to provide geospatial routing functionality.
pgsphere : Contains methods for working with spherical coordinates and objects
pointcloud : PostgreSQL extension for storing point cloud (LIDAR) data
PostGIS : Adds support for geographic objects to the PostgreSQL object-relational database
Major new features
Citus : Horizontally scales PostgreSQL across commodity servers using sharding and replication.
jsquery : A language to query jsonb data type
periods : Recreates the behavior defined in SQL:2016 (originally in SQL:2011) around periods and tables with SYSTEM VERSIONING
pg_background : Allows you to execute arbitrary SQL commands in background worker processes within PostgreSQL
pg_ivm : pg_ivm is a way to make materialized views up-to-date in which only incremental changes are computed and applied on views rather than recomputing the contents from scratch as REFRESH MATERIALIZED VIEW does
pg_strom : PG-Strom is designed to accelerate mostly batch and analytics workloads with utilization of GPU and NVME-SSD, and Apache Arrow columnar
pgspider_ext : PostgreSQL extension to construct High-Performance SQL Cluster Engine for distributed big data
pgvector : Open-source vector similarity search for Postgres
plproxy : Database partitioning system implemented as PL language
temporal_tables : Table that records the period of time when a row is valid
TimescaleDB : High-performance real-time analytics on time-series and event data
TimescaleDB-TSL : High-performance real-time analytics on time-series and event data (with Timescale licensed code included)
Other features
emaj : Set of PL/pgSQL functions allowing PostgreSQL Database Administrators to record updates applied on a set of tables, with the capability to "rollback" these updates to a predefined point in time
pg_auto_failover : Monitors and manages automated failover for a Postgres cluster
pgcryptokey : Allows the creation, selection, rotation, and deletion of cryptographic data keys
pg_fact_tables : PostgreSQL extension to build fact tables with Postgres using replicated tables and a queue
pgTap : Unit testing framework for PostgreSQL written in PL/pgSQL and PL/SQL
table_version : Table versioning extension, recording row modifications and its history