This document includes detailed information about installing and configuring PostgreSQL extensions on RPM based systems.
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 |