Search PostgreSQL documentation
PG 18 · Browse by category, or enter a name or keyword
Popular entries9981
OverviewThis module integrates with SELinux to provide an additional layer of security checking above and beyond what is normally provided by PostgreSQL. From the perspective of SELinux, this module…
OverviewSQL is a strongly typed language. That is, every data item has an associated data type which determines its behavior and allowed usage. PostgreSQL has an extensible type system that is more …
OverviewTable 53.1 lists the system views. More detailed documentation of each catalog follows below. Except where noted, all the views described here are read-only.
Table 53.1. System Views View Na…
Overview of Event Trigger BehaviorAn event trigger fires whenever the event with which it is associated occurs in the database in which it is defined. Currently, the supported events are login, ddl_command_start, ddl_command…
Overview of PostgreSQL InternalsAuthor This chapter originated as part of [sim98] Stefan Simkovics' Master's Thesis prepared at Vienna University of Technology under the direction of O.Univ.Prof.Dr. Georg Gottlob and Univ.…
Overview of Trigger BehaviorA trigger is a specification that the database should automatically execute a particular function whenever a certain type of operation is performed. Triggers can be attached to tables (parti…
oxgraph_pgrxoxgraph: graph traversal for PostgreSQL via OxGraph snapshots
pgrx rust
oxgraph-pgrx
Features
oxrOpenExchangeRates API client and currency-rate cache inside PostgreSQL.
currency exchange-rate http api
oxr
Utilities
Packaging Related Objects into an ExtensionA useful extension to PostgreSQL typically includes multiple SQL objects; for example, a new data type will require new functions, new operators, and probably new index operator classes. It …
pacman_agentPACMAN is a Postgres Autonomous Cluster Manager
management patroni postgres
pacman_agent
Administration
Page-Level LocksIn addition to table and row locks, page-level share/exclusive locks are used to control read/write access to table pages in the shared buffer pool. These locks are released immediately afte…
pageinspectlow-level inspection of database pages
The pageinspect module provides functions that allow you to inspect the contents of database pages at a low level, which is useful for debugging purpos…
pageinspect — low-level inspection of database pagesThe pageinspect module provides functions that allow you to inspect the contents of database pages at a low level, which is useful for debugging purposes. All of these functions may be used …
pagevisVisualise database pages in ascii code
pagevis
Monitoring
pairA key/value pair data type for PostgreSQL
data-type key-value
pair
Data types
palloc_benchBenchmark function for PostgreSQL palloc memory allocation
benchmark memory palloc
palloc_bench
Features
PAM AuthenticationThis authentication method operates similarly to password except that it uses PAM (Pluggable Authentication Modules) as the authentication mechanism. The default PAM service name is postgres…
panda_postPython Pandas data in Postgres
ndarray numpy python
panda_post
Replication and streams
pandapostPython Pandas data in Postgres
ndarray numpy python
panda_post
Replication and streams
Parallel AggregationPostgreSQL supports parallel aggregation by aggregating in two stages. First, each process participating in the parallel portion of the query performs an aggregation step, producing a partia…
Parallel AppendWhenever PostgreSQL needs to combine rows from multiple sources into a single result set, it uses an Append or MergeAppend plan node. This commonly happens when implementing UNION ALL or whe…
Parallel JoinsJust as in a non-parallel plan, the driving table may be joined to one or more other tables using a nested loop, hash join, or merge join. The inner side of the join may be any kind of non-p…
Parallel Labeling for Functions and AggregatesThe planner cannot automatically determine whether a user-defined function or aggregate is parallel safe, parallel restricted, or parallel unsafe, because this would require predicting every…
Parallel Plan TipsIf a query that is expected to do so does not produce a parallel plan, you can try reducing parallel_setup_cost or parallel_tuple_cost. Of course, this plan may turn out to be slower than th…
Parallel PlansBecause each worker executes the parallel portion of the plan to completion, it is not possible to simply take an ordinary query plan and run it using multiple workers. Each worker would pro…
Parallel QueryPostgreSQL can devise query plans that can leverage multiple CPUs in order to answer queries faster. This feature is known as parallel query. Many queries cannot benefit from parallel query,…
Parallel SafetyThe planner classifies operations involved in a query as either parallel safe, parallel restricted, or parallel unsafe. A parallel safe operation is one that does not conflict with the use o…
Parallel ScansThe following types of parallel-aware table scans are currently supported.
In a parallel sequential scan, the table's blocks will be divided into ranges and shared among the cooperating proc…
parallel_clonePreloaded EPAS worker used by parallel schema cloning.
schema clone parallel worker
edb_cloneschema
Administration
Parameter Interaction via SQLPostgreSQL provides three SQL commands to establish configuration defaults. The already-mentioned ALTER SYSTEM command provides an SQL-accessible means of changing global defaults; it is fun…
Parameter Interaction via the Configuration FileThe most fundamental way to set these parameters is to edit the file postgresql.conf, which is normally kept in the data directory. A default copy is installed when the database cluster dire…
Parameter Interaction via the ShellIn addition to setting global defaults or attaching overrides at the database or role level, you can pass settings to PostgreSQL via shell facilities. Both the server and libpq client librar…
Parameter Key WordsThe currently recognized parameter key words are:
host
Name of host to connect to. If a host name looks like an absolute path name, it specifies Unix-domain communication rather than TCP/IP …
Parameter Names and ValuesAll parameter names are case-insensitive. Every parameter takes a value of one of five types: boolean, string, integer, floating point, or enumerated (enum). The type determines the syntax f…
ParametersA bloom index accepts the following parameters in its WITH clause:
length Length of each signature (index entry) in bits. It is rounded up to the nearest multiple of 16. The default is 80 bi…
Parametersname # A name of SQL descriptor, case sensitive. This can be an SQL identifier or a host variable.
Parametersconnection_target # connection_target specifies the target server of the connection on one of several forms. [ database_name ] [ @host ] [ :port ] # Connect over TCP/IP unix:postgresql://hos…
Parametersname # The name of the descriptor which is going to be deallocated. It is case sensitive. This can be an SQL identifier or a host variable.
Parametersconnection_name # A database connection name established by the CONNECT command. AT clause can be omitted, but such statement has no meaning.
statement_name # The name of an SQL statement id…
Parameterscursor_name # A cursor name, case sensitive. This can be an SQL identifier or a host variable. prepared_name # The name of a prepared query, either as an SQL identifier or a host variable. q…
More results
Find definitions in the PostgreSQL manuals, reference library, and extension catalogue.
Searching every version by default. Manual pages are indexed for PostgreSQL 10–20; the reference library and extension catalogue are not version-bound.
all: every version pg17: one version ex: extensions only ↑↓ select ↵ open