2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

DROP AGGREGATE

DROP AGGREGATE — 刪除一個聚合函式

概要

DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [, ...] [ CASCADE | RESTRICT ]

where aggregate_signature is:

* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]

描述

DROP AGGREGATE 用於刪除一個已存在的聚合函式。要執行此命令,當前使用者必須是該聚合函式的擁有者。

引數

IF EXISTS

如果聚合函式不存在,則不報錯。在這種情況下會發出一個通知。

name

已存在的聚合函式的名稱(可選模式限定)。

argmode

引數的模式:INVARIADIC。如果省略,則預設為 IN

argname

引數的名稱。請注意,DROP AGGREGATE 實際上並不關心引數名稱,因為只有引數資料型別才用於確定聚合函式的身份。

argtype

聚合函式操作的輸入資料型別。要引用一個零引數的聚合函式,請在引數說明列表處寫 *。要引用一個有序集聚合函式,請在直接引數和聚合引數說明之間寫 ORDER BY

CASCADE

自動刪除依賴於該聚合函式的物件(例如使用該函式的檢視),以及隨後依賴於這些物件的所有物件(參見第 5.15 節)。

RESTRICT

如果任何物件依賴於該聚合函式,則拒絕刪除該聚合函式。這是預設行為。

註釋

引用有序集聚合函式的替代語法在ALTER AGGREGATE 中進行了描述。

示例

刪除型別為 integer 的聚合函式 myavg

DROP AGGREGATE myavg(integer);

刪除假設的有序集聚合函式 myrank,該函式接受任意數量的排序列和一個匹配的直接引數列表

DROP AGGREGATE myrank(VARIADIC "any" ORDER BY VARIADIC "any");

在一條命令中刪除多個聚合函式

DROP AGGREGATE myavg(integer), myavg(bigint);

相容性

SQL 標準中沒有 DROP AGGREGATE 語句。

提交更正

如果您在文件中發現任何不正確、與您實際體驗不符或需要進一步澄清的內容,請使用此表格來報告文件問題。