こんにちは、ヤマウチです。
前回は、TimescaleDBについて紹介しました。
tech-blog.rakus.co.jp
今回は、TimescaleDBのインストールとTimescaleDB拡張機能を有効にするまでの手順について紹介します。
インストール
TimescaleDBのインストールには
① RPMでインストールする方法
② ソースコードからインストールする方法
がありますが、今回は「① RPMでCentOSにインストールする方法」を紹介します。
リポジトリ
RPMでインストールする場合は、以下2つのリポジトリを使用します。
PostgreSQLのリポジトリ
https://download.postgresql.org/pub/repos/yum/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
- TimescaleDBのリポジトリ設定
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
- PostgreSQLとTimeScaleDBのRPMをインストール
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を利用する準備が完了しました。
次回以降、圧縮機能も検証する予定です。
参考資料
エンジニア中途採用サイト
ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
ご興味ありましたら是非ご確認をお願いします。
https://career-recruit.rakus.co.jp/career_engineer/
カジュアル面談お申込みフォーム
どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。
rakus.hubspotpagebuilder.com
ラクスDevelopers登録フォーム
https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/
イベント情報
会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください!
◆TECH PLAY
techplay.jp
◆connpass
rakus.connpass.com