↑↓ select↵ open⌫ change scopeOpen full search

PG.CENTER connects PostgreSQL documentation, reference, and ecosystem knowledge. Maintained by Pigsty.

Wiki / Versions

FILTER clause for aggregate functions

Recorded source states and original language descriptions. Missing version evidence stays unknown.

The source snapshot records transitions for PostgreSQL 8.1–18. The historical matrix records independent cells for 7.4–18. Neither records support for PostgreSQL 19 or 20; newer versions remain unknown. These source claims are distinct from runtime measurements.

Custom Functions, Stored Procedures, & Triggers

Description

Aggregate functions can now be filtered with the FILTER clause. For example: count(col_a) FILTER (WHERE col_b > 5)

Selected version: PostgreSQL 18

Yes

20191817161514131211109.69.59.49.39.29.19.08.48.38.28.18.07.4
UnknownUnknownYesYesYesYesYesYesYesYesYesYesYesYesNoNoNoNoNoNoNoNoUnknownUnknown

Compare versions

Original documentation links

Recorded legacy identifiers: 263

Complete source facts and provenance

yaml · center · 1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd

{
  "Key": "filter-clause-for-aggregate-functions",
  "SourceKind": "yaml",
  "SourceDatabase": "center",
  "SourceTable": "featurematrix.yaml",
  "SourceKey": "FILTER clause for aggregate functions",
  "SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
  "Name": "FILTER clause for aggregate functions",
  "NameLocale": "en",
  "GroupKey": "custom-functions-stored-procedures-triggers",
  "GroupName": "Custom Functions, Stored Procedures, \u0026 Triggers",
  "GroupLocale": "en",
  "Ordinal": 7,
  "GroupOrder": 18,
  "Facts": {
    "feature": {
      "description": "Aggregate functions can now be filtered with the FILTER clause.  For example: count(col_a) FILTER (WHERE col_b \u003e 5)",
      "name": "FILTER clause for aggregate functions",
      "versions": {
        "9.4": "Yes"
      }
    },
    "group": "Custom Functions, Stored Procedures, \u0026 Triggers",
    "versions": {
      "max": 18,
      "min": 8.1
    }
  },
  "Cells": [
    {
      "Version": "10",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "11",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "12",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "13",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "14",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "15",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "16",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "17",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "18",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "8.1",
      "State": "no",
      "EvidenceKind": "yaml-default-no",
      "TransitionVersion": "",
      "Supported": false,
      "Original": "No"
    },
    {
      "Version": "8.2",
      "State": "no",
      "EvidenceKind": "yaml-default-no",
      "TransitionVersion": "",
      "Supported": false,
      "Original": "No"
    },
    {
      "Version": "8.3",
      "State": "no",
      "EvidenceKind": "yaml-default-no",
      "TransitionVersion": "",
      "Supported": false,
      "Original": "No"
    },
    {
      "Version": "8.4",
      "State": "no",
      "EvidenceKind": "yaml-default-no",
      "TransitionVersion": "",
      "Supported": false,
      "Original": "No"
    },
    {
      "Version": "9.0",
      "State": "no",
      "EvidenceKind": "yaml-default-no",
      "TransitionVersion": "",
      "Supported": false,
      "Original": "No"
    },
    {
      "Version": "9.1",
      "State": "no",
      "EvidenceKind": "yaml-default-no",
      "TransitionVersion": "",
      "Supported": false,
      "Original": "No"
    },
    {
      "Version": "9.2",
      "State": "no",
      "EvidenceKind": "yaml-default-no",
      "TransitionVersion": "",
      "Supported": false,
      "Original": "No"
    },
    {
      "Version": "9.3",
      "State": "no",
      "EvidenceKind": "yaml-default-no",
      "TransitionVersion": "",
      "Supported": false,
      "Original": "No"
    },
    {
      "Version": "9.4",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "9.5",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    },
    {
      "Version": "9.6",
      "State": "yes",
      "EvidenceKind": "yaml-transition",
      "TransitionVersion": "9.4",
      "Supported": true,
      "Original": "Yes"
    }
  ],
  "Texts": [
    {
      "Locale": "en",
      "Title": "FILTER clause for aggregate functions",
      "BodyHTML": "\u003cp\u003eAggregate functions can now be filtered with the FILTER clause.  For example: count(col_a) FILTER (WHERE col_b \u0026gt; 5)\u003c/p\u003e\n",
      "SourceHash": "1dd22bf9a7f3ec325b894e2836fda535a25529f246a94dd41d6abbfe9997f7fd",
      "ContentHash": "6bdcd16777b366385779b243556819442ee830005886abc672381adca2b7cc29",
      "Payload": {
        "description": "Aggregate functions can now be filtered with the FILTER clause.  For example: count(col_a) FILTER (WHERE col_b \u003e 5)",
        "name": "FILTER clause for aggregate functions",
        "versions": {
          "9.4": "Yes"
        }
      }
    },
    {
      "Locale": "zh-Hans",
      "Title": "聚合函数的 FILTER 子句",
      "BodyHTML": "\u003cp\u003e聚合函数现在可以使用 FILTER 子句进行过滤。例如:count(col_a) FILTER (WHERE col_b \u0026gt; 5)\u003c/p\u003e\n",
      "SourceHash": "071091951021357a5f492adb04caed6febf4d315ac2626ca027a48dd8ec01d50",
      "ContentHash": "eff47137968b2ad23c5f744c1cd5520bc7f7b4918ef931119f256a3bfafeb067",
      "Payload": {
        "description": "聚合函数现在可以使用 FILTER 子句进行过滤。例如:count(col_a) FILTER (WHERE col_b \u003e 5)",
        "name": "聚合函数的 FILTER 子句"
      }
    }
  ],
  "GroupTitles": {
    "en": "Custom Functions, Stored Procedures, \u0026 Triggers",
    "zh-Hans": "自定义函数、存储过程和触发器"
  },
  "LegacyIDs": [
    "263"
  ]
}

Complete source data JSON