मैं @robin-salih के उत्तर को श्रेय देना चाहता हूं, मैंने इसका उपयोग किया है और निम्नलिखित कोड बनाने के लिए int के लिए min का कार्यान्वयन किया है:
CREATE OR REPLACE FUNCTION min(uuid, uuid)
RETURNS uuid AS $$
BEGIN
IF $2 IS NULL OR $1 > $2 THEN
RETURN $2;
END IF;
RETURN $1;
END;
$$ LANGUAGE plpgsql;
create aggregate min(uuid) (
sfunc = min,
stype = uuid,
combinefunc = min,
parallel = safe,
sortop = operator (<)
);
यह लगभग समान है, लेकिन बी-ट्री इंडेक्स के फायदे लेता है, इसलिए select min(id) from tbl
कुछ मिली में काम करता है।
पी.एस. मैं pgsql विशेषज्ञ नहीं हूं, शायद मेरा कोड किसी तरह गलत है, उत्पादन में उपयोग करने से पहले दोबारा जांच करें, लेकिन मुझे उम्मीद है कि यह इंडेक्स और समानांतर निष्पादन का सही ढंग से उपयोग करता है। मैंने इसे केवल नमूना कोड से बनाया है, पीजी में समुच्चय के पीछे के सिद्धांत की खोज में नहीं।