PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

सर्वर टाइमज़ोन ऑफ़सेट मान

समय क्षेत्र के लिए आप यह कर सकते हैं:

SHOW timezone;

या समकक्ष:

SELECT current_setting('TIMEZONE');

लेकिन यह सर्वर द्वारा स्वीकार किए गए किसी भी प्रारूप में हो सकता है, इसलिए यह UTC लौटा सकता है , 08:00 , Australia/Victoria , या समान।

निराशाजनक रूप से, ऐसा प्रतीत होता है कि यूटीसी से समय ऑफसेट की रिपोर्ट करने के लिए कोई अंतर्निहित फ़ंक्शन नहीं है जो क्लाइंट घंटों और मिनटों में उपयोग कर रहा है, जो मुझे पागल लगता है। आप UTC में वर्तमान समय की स्थानीय रूप से वर्तमान समय से तुलना करके ऑफ़सेट प्राप्त कर सकते हैं:

SELECT age(current_timestamp AT TIME ZONE 'UTC', current_timestamp)`

... लेकिन आईएमओ current_timestamp से सेकंड में tz ऑफ़सेट निकालने के लिए क्लीनर है और एक अंतराल में कनवर्ट करें:

SELECT to_char(extract(timezone from current_timestamp) * INTERVAL '1' second, 'FMHH24:MM');

यह वांछित परिणाम से मेल खाएगा सिवाय इसके कि यह एक अग्रणी शून्य उत्पन्न नहीं करता है, इसलिए -05:00 बस -5:00 है . कष्टप्रद रूप से to_char . प्राप्त करना असंभव प्रतीत होता है घंटों के लिए एक अग्रणी शून्य उत्पन्न करने के लिए, मुझे निम्नलिखित बदसूरत मैन्युअल स्वरूपण के साथ छोड़ रहा है:

CREATE OR REPLACE FUNCTION oracle_style_tz() RETURNS text AS $$
SELECT to_char(extract(timezone_hour FROM current_timestamp),'FM00')||':'||
       to_char(extract(timezone_minute FROM current_timestamp),'FM00');
$$ LANGUAGE 'SQL' STABLE;

timezone_hour . के लिए ग्लेन को श्रेय और timezone_minute हैक के बजाय मैंने पहले extract(timezone from current_timestamp) * INTERVAL '1' second) के साथ प्रयोग किया था और एक सीटीई।

यदि आपको अग्रणी शून्य की आवश्यकता नहीं है तो आप इसके बजाय इसका उपयोग कर सकते हैं:

CREATE OR REPLACE FUNCTION oracle_style_tz() RETURNS text AS $$
SELECT to_char(extract(timezone from current_timestamp) * INTERVAL '1' second, 'FMHH24:MM');
$$ LANGUAGE 'SQL' STABLE;

यह भी देखें:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL को दूरस्थ रूप से प्रबंधित करने के लिए युक्तियाँ

  2. 2019 PostgreSQL रुझान रिपोर्ट:निजी बनाम सार्वजनिक क्लाउड, माइग्रेशन, डेटाबेस संयोजन और उपयोग किए जाने वाले शीर्ष कारण

  3. PostgreSQL उपयोगकर्ता सूची

  4. क्या रेल डिफ़ॉल्ट टाइमस्टैम्प को Y-m-d H:i:s (Y-m-d H:i:s.u के बजाय) में बदलने का कोई तरीका है या लार्वा Y-m-d H:i:s.u के दशमलव भाग को अनदेखा करता है?

  5. जूक्यू डीएसएलकॉन्टेक्स्ट के .close() को कॉल करते समय कनेक्शन कब बंद हो जाता है, यदि बिल्कुल?