age() — PostgreSQL date/time function

age(): age of a transaction ID, in transactions before current transaction. PostgreSQL date/time functions — signature, volatility, version applicability and an illustrative example.

Summary

age is a PostgreSQL built-in function in the Date/Time Functions group. PostgreSQL’s system catalog (pg_proc) describes it as: “age of a transaction ID, in transactions before current transaction”.

Signature

age has 5 documented overloaded forms:

age(xid) → integer
age(timestamp with time zone, timestamp with time zone) → interval
age(timestamp with time zone) → interval
age(timestamp, timestamp) → interval
age(timestamp) → interval

Argument and return types are taken from the pg_proc catalog; internal type names are shown using their readable SQL spellings (for example int4 is shown as integer). (Derived from the catalog — see the linked reference for the canonical documentation.)

Classification

  • Category: Date/Time Functions
  • Kind: Function
  • Volatility: STABLE — Marked STABLE — within a single statement it returns a consistent result for the same arguments, but the result can change between statements.
  • Returns: integer, interval

Example

Illustrative form (replace placeholder values with your own data):

SELECT age(NULL::xid);

The example above is illustrative and is meant to show calling syntax only; consult the linked PostgreSQL documentation for exact semantics, edge cases and accepted argument combinations.

Version applicability

age is present across the surveyed releases (PostgreSQL 15, 16, 17, 18, 19). On older major versions, behaviour may differ in detail — always check the documentation for the version you run.

Related & references

Reference: PostgreSQL documentation — Date/Time Functions.