PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara Mengaktifkan TimescaleDB pada Database PostgreSQL yang Ada

Jika Anda memiliki cluster PostgreSQL yang sedang berjalan, dan Anda perlu menangani data yang berubah seiring waktu (seperti metrik yang dikumpulkan dari sistem), Anda harus mempertimbangkan untuk menggunakan database deret waktu yang dirancang untuk menyimpan data semacam ini.

TimescaleDB adalah database deret waktu sumber terbuka yang dioptimalkan untuk penyerapan cepat dan kueri kompleks yang mendukung SQL penuh. Ini didasarkan pada PostgreSQL dan menawarkan yang terbaik dari dunia NoSQL dan Relasional untuk data deret Waktu.

Di blog ini, kita akan melihat cara mengaktifkan TimescaleDB secara manual di database PostgreSQL yang ada dan cara melakukan tugas yang sama menggunakan ClusterControl.

Mengaktifkan TimescaleDB Secara Manual

Untuk blog ini, kami akan menggunakan CentOS 7 sebagai sistem operasi dan PostgreSQL 11 sebagai server database.

Secara default, Anda tidak mengaktifkan TimescaleDB untuk PostgreSQL:

world=# \dx

                 List of installed extensions

  Name   | Version |   Schema |     Description

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

 plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language

(1 row)

Jadi pertama, Anda perlu menambahkan repositori yang sesuai untuk menginstal perangkat lunak:

$ 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

Kami akan menganggap Anda memiliki repositori PostgreSQL karena penginstalan TimescaleDB ini akan memerlukan dependensi dari sana.

Langkah selanjutnya adalah menginstal paket:

$ yum install timescaledb-postgresql-11

Dan konfigurasikan di database PostgreSQL Anda saat ini. Untuk ini, edit file postgresql.conf Anda dan tambahkan 'timescaledb' di parameter shared_preload_libraries:

shared_preload_libraries = 'timescaledb'

Atau jika Anda sudah menambahkan sesuatu di sana:

shared_preload_libraries = 'pg_stat_statements,timescaledb'

Anda juga dapat mengonfigurasi max_background_workers untuk TimescaleDB guna menentukan jumlah maksimum pekerja latar belakang.

timescaledb.max_background_workers=4

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

$ service postgresql-11 restart

Dan kemudian, TimescaleDB Anda akan terinstal:

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)

Jadi sekarang, Anda harus mengaktifkannya:

$ 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

Selesai.

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)

Sekarang, mari kita lihat cara mengaktifkannya menggunakan ClusterControl.

Menggunakan ClusterControl untuk Mengaktifkan TimescaleDB

Kami akan menganggap Anda memiliki cluster PostgreSQL yang diimpor di ClusterControl atau bahkan digunakan menggunakannya.

Untuk mengaktifkan TimescaleDB menggunakan ClusterControl, Anda hanya perlu membuka PostgreSQL Cluster Actions dan menekan opsi “Enable TimescaleDB”.

Anda akan menerima peringatan tentang pengaktifan ulang basis data. Konfirmasikan.

Anda dapat memantau tugas di bagian Aktivitas ClusterControl.

Kemudian TimescaleDB Anda siap digunakan.

Kesimpulan

Sekarang Anda memiliki TimescaleDB dan berjalan, Anda dapat menangani data deret waktu Anda dengan cara yang lebih berkinerja. Untuk ini, Anda dapat membuat tabel baru atau bahkan memigrasikan data Anda saat ini, dan tentu saja, Anda harus tahu cara menggunakannya untuk memanfaatkan konsep baru ini.


  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 multi INSERT...KEMBALI dengan beberapa kolom

  2. Bagaimana Lantai() Bekerja di PostgreSQL

  3. LPAD() Fungsi di PostgreSQL

  4. Hitung Kunci Utama berikutnya - dengan format tertentu

  5. PostgreSql INSERT DARI SELECT RETURNING ID