RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

PostgreSQL + TimescaleDBでログ管理検討 - TimescaleDBのインストール

こんにちは、ヤマウチです。

前回は、TimescaleDBについて紹介しました。
tech-blog.rakus.co.jp

今回は、TimescaleDBのインストールとTimescaleDB拡張機能を有効にするまでの手順について紹介します。

インストール

TimescaleDBのインストールには

RPMでインストールする方法
ソースコードからインストールする方法

がありますが、今回は「① RPMCentOSにインストールする方法」を紹介します。

リポジトリ

RPMでインストールする場合は、以下2つのリポジトリを使用します。

  1. PostgreSQLリポジトリ
    https://download.postgresql.org/pub/repos/yum/

  2. TimescaleDBのリポジトリ
    https://packagecloud.io/timescale/timescaledb

[注意点]

  • 1.PostgreSQLリポジトリ にもTimescaleDBのパッケージ(timescaledb_12-2.7.2-1.rhel7.x86_64.rpm)がありますが、このブログを書いている(2022-10-06)時点ではApache-2機能のみでCommunity機能を使えないパッケージになっています。ご注意ください。
  • 圧縮機能はCommunity機能でないと使えないため、圧縮機能を試したい場合は 2.TimescaleDBのリポジトリ のパッケージを使用してください。

RPMのインストール

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{centos})-x86_64/pgdg-redhat-repo-latest.noarch.rpm
tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/$(rpm -E %{rhel})/\$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
EOL
yum install timescaledb-2-postgresql-12

※ PostgreSQL14をインストールする場合は、yum install timescaledb-2-postgresql-14のように最後のバージョン番号を変えてください。

PostgreSQLの設定変更

  • postgresql.confに設定を追加
vi postgresql.conf 

shared_preload_librariesを以下のように編集する。

shared_preload_libraries = 'timescaledb'  # 対象行を書き換える。すでに設定がある場合は , 区切りで追加する。
timescaledb.telemetry_level = basic # TimescaleDBに情報を送信する場合は basic(デフォルト)、送信しない場合はoffに設定する
  • PostgreSQLを再起動して設定を反映させる
systemctl restart pgsql

TimescaleDB拡張機能を有効にする

  • 拡張をインストールするDBに接続
psql -U postgresql -p 5433 DB名
  • 拡張をインストール
DB名=# CREATE EXTENSION IF NOT EXISTS timescaledb;
  • インストールされた拡張を確認
DB名=# \dx
インストール済みの拡張一覧
名前     | バージョン |  スキーマ  |                               説明
-------------+------------+------------+-------------------------------------------------------------------
timescaledb | 2.7.2      | public     | Enables scalable inserts and complex queries for time-series data
(1)

※timescaledb の行が表示されていれば、TimeScaleDB拡張機能が有効になっています。

これでTimescaleDBを利用する準備が完了しました。
次回以降、圧縮機能も検証する予定です。

参考資料


エンジニア中途採用サイト
ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
ご興味ありましたら是非ご確認をお願いします。
20210916153018
https://career-recruit.rakus.co.jp/career_engineer/

カジュアル面談お申込みフォーム
どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。
rakus.hubspotpagebuilder.com

ラクスDevelopers登録フォーム
20220701175429
https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/

イベント情報
会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください!

◆TECH PLAY
techplay.jp

◆connpass
rakus.connpass.com

Copyright © RAKUS Co., Ltd. All rights reserved.