PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách bật TimescaleDB trên cơ sở dữ liệu PostgreSQL hiện có

Nếu bạn đang thiết lập và chạy một cụm PostgreSQL và bạn cần xử lý dữ liệu thay đổi theo thời gian (như số liệu được thu thập từ một hệ thống), bạn nên xem xét sử dụng cơ sở dữ liệu chuỗi thời gian được thiết kế để lưu trữ loại dữ liệu này.

TimescaleDB là cơ sở dữ liệu chuỗi thời gian mã nguồn mở được tối ưu hóa để nhập nhanh và các truy vấn phức tạp hỗ trợ SQL đầy đủ. Nó dựa trên PostgreSQL và nó cung cấp những gì tốt nhất của thế giới NoSQL và Relational cho dữ liệu Chuỗi thời gian.

Trong blog này, chúng ta sẽ xem cách bật TimescaleDB theo cách thủ công trong cơ sở dữ liệu PostgreSQL hiện có và cách thực hiện tác vụ tương tự bằng ClusterControl.

Bật TimescaleDB theo cách thủ công

Đối với blog này, chúng tôi sẽ sử dụng CentOS 7 làm hệ điều hành và PostgreSQL 11 làm máy chủ cơ sở dữ liệu.

Theo mặc định, bạn chưa bật TimescaleDB cho PostgreSQL:

world=# \dx

                 List of installed extensions

  Name   | Version |   Schema |     Description

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

 plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language

(1 row)

Vì vậy, trước tiên, bạn cần thêm kho tương ứng để cài đặt phần mềm:

$ 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

Chúng tôi sẽ cho rằng bạn đã có sẵn kho lưu trữ PostgreSQL vì cài đặt TimescaleDB này sẽ yêu cầu các phụ thuộc từ đó.

Bước tiếp theo là cài đặt gói:

$ yum install timescaledb-postgresql-11

Và định cấu hình nó trong cơ sở dữ liệu PostgreSQL hiện tại của bạn. Đối với điều này, hãy chỉnh sửa tệp postgresql.conf của bạn và thêm 'timescaledb' trong thông số shared_preload_libraries:

shared_preload_libraries = 'timescaledb'

Hoặc nếu bạn đã thêm thứ gì đó vào đó:

shared_preload_libraries = 'pg_stat_statements,timescaledb'

Bạn cũng có thể định cấu hình max_background_workers cho TimescaleDB để chỉ định số lượng nhân viên nền tối đa.

timescaledb.max_background_workers=4

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

$ service postgresql-11 restart

Và sau đó, bạn sẽ cài đặt TimescaleDB của mình:

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)

Vì vậy, bây giờ, bạn cần kích hoạt nó:

$ 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

Đã xong.

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)

Bây giờ, hãy xem cách bật tính năng này bằng ClusterControl.

Sử dụng ClusterControl để bật TimescaleDB

Chúng tôi sẽ cho rằng bạn đã nhập cụm PostgreSQL của mình vào ClusterControl hoặc thậm chí được triển khai bằng cách sử dụng nó.

Để bật TimescaleDB bằng ClusterControl, bạn chỉ cần truy cập PostgreSQL Cluster Actions và nhấn vào tùy chọn “Bật TimescaleDB”.

Bạn sẽ nhận được cảnh báo về việc khởi động lại cơ sở dữ liệu. Xác nhận nó.

Bạn có thể giám sát tác vụ trong phần Hoạt động ClusterControl.

Sau đó, bạn sẽ sử dụng TimescaleDB.

Kết luận

Bây giờ bạn đã thiết lập và chạy TimescaleDB, bạn có thể xử lý dữ liệu chuỗi thời gian của mình theo cách hiệu quả hơn. Đối với điều này, bạn có thể tạo bảng mới hoặc thậm chí di chuyển dữ liệu hiện tại của mình và tất nhiên, bạn nên biết cách sử dụng nó để tận dụng khái niệm mới này.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đón ngày cuối cùng của tháng trong PostgreSQL

  2. Đếm ký tự trong chuỗi thông qua SQL

  3. Cách kiểm tra phiên bản PostgreSQL của bạn

  4. PostgreSQL Tạo cơ sở dữ liệu

  5. xóa cột không tồn tại