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

मौजूदा PostgreSQL डेटाबेस पर TimescaleDB को कैसे सक्षम करें

यदि आपके पास एक पोस्टग्रेएसक्यूएल क्लस्टर अप-एंड-रनिंग है, और आपको समय के साथ बदलने वाले डेटा को संभालने की आवश्यकता है (जैसे किसी सिस्टम से एकत्रित मेट्रिक्स) तो आपको समय-श्रृंखला डेटाबेस का उपयोग करने पर विचार करना चाहिए जिसे डिज़ाइन किया गया है इस तरह के डेटा को स्टोर करने के लिए।

TimescaleDB एक खुला स्रोत समय-श्रृंखला डेटाबेस है जो पूर्ण SQL का समर्थन करने वाले तीव्र अंतर्ग्रहण और जटिल प्रश्नों के लिए अनुकूलित है। यह पोस्टग्रेएसक्यूएल पर आधारित है और यह समय-श्रृंखला डेटा के लिए सर्वश्रेष्ठ नोएसक्यूएल और रिलेशनल दुनिया प्रदान करता है।

इस ब्लॉग में, हम देखेंगे कि मौजूदा PostgreSQL डेटाबेस में TimescaleDB को मैन्युअल रूप से कैसे सक्षम किया जाए और ClusterControl का उपयोग करके उसी कार्य को कैसे किया जाए।

TimescaleDB को मैन्युअल रूप से सक्षम करना

इस ब्लॉग के लिए, हम ऑपरेटिंग सिस्टम के रूप में CentOS 7 और डेटाबेस सर्वर के रूप में PostgreSQL 11 का उपयोग करेंगे।

डिफ़ॉल्ट रूप से, आपके पास PostgreSQL के लिए TimescaleDB सक्षम नहीं है:

world=# \dx

                 List of installed extensions

  Name   | Version |   Schema |     Description

---------+---------+------------+------------------------------

 plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language

(1 row)

तो सबसे पहले, आपको सॉफ़्टवेयर स्थापित करने के लिए संबंधित रिपॉजिटरी को जोड़ना होगा:

$ cat /etc/yum.repos.d/timescale_timescaledb.repo

[timescale_timescaledb]

name=timescale_timescaledb

baseurl=https://packagecloud.io/timescale/timescaledb/el/7/\$basearch

repo_gpgcheck=1

gpgcheck=0

enabled=1

gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey

sslverify=1

sslcacert=/etc/pki/tls/certs/ca-bundle.crt

metadata_expire=300

हम मान लेंगे कि आपके पास PostgreSQL रिपॉजिटरी है क्योंकि इस TimescaleDB इंस्टॉलेशन के लिए वहां से निर्भरता की आवश्यकता होगी।

अगला चरण पैकेज को स्थापित करना है:

$ yum install timescaledb-postgresql-11

और इसे अपने वर्तमान PostgreSQL डेटाबेस में कॉन्फ़िगर करें। इसके लिए अपनी postgresql.conf फ़ाइल को संपादित करें और 'timescaledb' को shared_preload_libraries पैरामीटर में जोड़ें:

shared_preload_libraries = 'timescaledb'

या यदि आपने वहां पहले से कुछ जोड़ा है:

shared_preload_libraries = 'pg_stat_statements,timescaledb'

पृष्ठभूमि कार्यकर्ताओं की अधिकतम संख्या निर्दिष्ट करने के लिए आप TimescaleDB के लिए max_background_workers को भी कॉन्फ़िगर कर सकते हैं।

timescaledb.max_background_workers=4

Keep in mind that this change requires a database service restart:

$ service postgresql-11 restart

और फिर, आपके पास अपना TimescaleDB स्थापित हो जाएगा:

postgres=# SELECT * FROM pg_available_extensions WHERE name='timescaledb';

    name     | default_version | installed_version |                              comment



-------------+-----------------+-------------------+-----------------------------------------------

--------------------

 timescaledb | 1.6.0           | | Enables scalable inserts and complex queries f

or time-series data

(1 row)

तो अब, आपको इसे सक्षम करने की आवश्यकता है:

$ psql world

world=# CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

WARNING:

WELCOME TO

 _____ _                               _ ____________

|_   _(_)                             | | | _ \ ___ \

  | |  _ _ __ ___   ___ ___ ___ __ _| | ___| | | | |_/ /

  | | | |  _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \

  | | | | | | | | |  __/\__ \ (_| (_| | |  __/ |/ /| |_/ /

  |_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/

               Running version 1.6.0

For more information on TimescaleDB, please visit the following links:



 1. Getting started: https://docs.timescale.com/getting-started

 2. API reference documentation: https://docs.timescale.com/api

 3. How TimescaleDB is designed: https://docs.timescale.com/introduction/architecture



Note: TimescaleDB collects anonymous reports to better understand and assist our users.

For more information and how to disable, please see our docs https://docs.timescaledb.com/using-timescaledb/telemetry.



CREATE EXTENSION

हो गया।

world=# \dx

                                      List of installed extensions

    Name     | Version |   Schema |                         Description



-------------+---------+------------+--------------------------------------------------------------

-----

 plpgsql     | 1.0 | pg_catalog | PL/pgSQL procedural language

 timescaledb | 1.6.0   | public | Enables scalable inserts and complex queries for time-series

data

(2 rows)

अब, देखते हैं कि ClusterControl का उपयोग करके इसे कैसे सक्षम किया जाए।

TimescaleDB को सक्षम करने के लिए ClusterControl का उपयोग करना

हम मान लेंगे कि आपने अपने PostgreSQL क्लस्टर को ClusterControl में आयात किया है या यहां तक ​​कि इसका उपयोग करके तैनात किया है।

ClusterControl का उपयोग करके TimescaleDB को सक्षम करने के लिए, आपको बस अपने PostgreSQL क्लस्टर क्रियाओं पर जाना होगा और "TimescaleDB सक्षम करें" विकल्प पर प्रेस करना होगा।

डेटाबेस के पुनरारंभ होने के बारे में आपको एक चेतावनी प्राप्त होगी। इसकी पुष्टि करें।

आप क्लस्टर नियंत्रण गतिविधि अनुभाग में कार्य की निगरानी कर सकते हैं।

तब आपका TimescaleDB उपयोग के लिए तैयार होगा।

निष्कर्ष

अब आपके पास अपना TimescaleDB है और चल रहा है, आप अपने समय-श्रृंखला डेटा को अधिक प्रदर्शनकारी तरीके से संभाल सकते हैं। इसके लिए, आप नई तालिकाएँ बना सकते हैं या यहाँ तक कि अपने वर्तमान डेटा को माइग्रेट भी कर सकते हैं, और निश्चित रूप से, आपको पता होना चाहिए कि इस नई अवधारणा का लाभ उठाने के लिए इसका उपयोग कैसे करना है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. org.postgresql.util.PSQLException:ऑटो-प्रतिबद्ध मोड में बड़ी वस्तुओं का उपयोग नहीं किया जा सकता है

  2. Django और PostgreSQL को दो अलग-अलग EC2 उदाहरणों पर सेट करना

  3. अद्यतन विवरण में अनावश्यक डेटा

  4. एक नियम का उपयोग करके स्वचालित रूप से एक भौतिक दृश्य को ताज़ा करें या सूचित करें

  5. Postgres उपयोगकर्ता मौजूद नहीं है?