PostgreSQL की कम-ज्ञात सुविधाएँ
(hakibenita.com)-
Insert on Conflict(Upsert) के समय संशोधित/जोड़ी गई Row की संख्या जानना : xmax
-
किसी खास कॉलम पर permission देना
-
multi-pattern matching : SIMILAR TO या ~ regular expression
-
मौजूदा sequence value को बढ़ाए बिना जानना : pg_sequence_last_value()
-
multiline SQL और \COPY को साथ में इस्तेमाल करने के लिए : TEMPORARY VIEW या COPY और \g का उपयोग
-
auto-generated key में value सेट होने से रोकना : table बनाते समय GENERATED ALWAYS निर्दिष्ट करें (GENERATED BY DEFAULT की जगह)
-
Pivot table बनाना : pandas.pivot_table, \crosstabview या tablefunc extension का उपयोग
-
Dollar Quoting
→ $$ और $$ के बीच के सभी अक्षर string माने जाते हैं
→ $JSON$ / $function$ की तरह अंदर Tag का उपयोग किया जा सकता है
→ ::jsonb जोड़ने पर तेज़ी से jsonb object बनाया जा सकता है
- DB object में comment जोड़ना : COMMENT ON TABLE/COLUMN, Dollar Quoting का उपयोग करके लंबे string description भी जोड़े जा सकते हैं
→ लिखना : COMMENT ON TABLE sale IS 'Sales made in the system';
→ देखना : \d+ sale
- हर DB के लिए अलग से History रिकॉर्ड करना
→ \set HISTFILE ~/.psql_history- :DBNAME
-
auto-completion को uppercase में करना : \set COMP_KEYWORD_CASE upper
-
sleep देना : pg_sleep(सेकंड), pg_sleep_for('4 minutes 14 seconds')
-
subquery के बिना group की पहली/आखिरी पंक्ति लाना : DISTINCT ON (group column)
-
uuid-ossp extension के बिना UUID बनाना : gen_random_uuid() version 4 UUID बनाता है
-
reproducible random data बनाना : setseed() से seed एक जैसा रखें
-
मौजूदा data को तुरंत validate किए बिना condition जोड़ना : ALTER करते समय NOT VALID से पहले केवल condition जोड़ें, और ALTER VALIDATE से मौजूदा data validation अलग से चलाएँ
-
Oracle के Synonym जैसी सुविधा का उपयोग करना : search_path बदलना (Zero Downtime Migration में उपयोगी)
-
overlapping Range ढूँढना : OVERLAPS operator
4 टिप्पणियां
क्या GeekNews पर कुछ ज़्यादा ही postgres की खबरें नहीं आ रही हैं! (मज़ाक है.)
हमारा प्रोडक्ट भी मुख्य रूप से pg का उपयोग करता है, इसलिए बस आभारी हैं. :)
लगता है आजकल postgres ही ट्रेंड में है..!?
postgres सबसे बेहतरीन है
मैं सहमत हूँ.