LoginSignup
18
10

More than 5 years have passed since last update.

Redashの内部データベースに直接クエリーする

Posted at

Redashを使い込んでいくと、だんだんRedash内部のMetadataデータベースに直接クエリーをかけたくなってきます。

どんな用途があるのか上記記事が色々と参考になりますが、私の環境ではバージョンの違いなのか、記事に書いているようなユーザー名とパスワードでDBにアクセスすることができなかったので、Postgreの新規ユーザーを作りRedashでアクセスするまでの手順をまとめました。AMIからRedash環境を構築した場合の話ですのでDockerから作っている人には必要のない手順かと思います。


まずはsshでRedashを立ち上げているサーバーにログインし、postgresユーザーでredashデータベースに接続します。

sudo -u postgres psql redash

現状のユーザー一覧を確認します。

redash=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 redash    |                                                            | {}

redashというユーザーが存在することがわかりますが、今回はこれとは別に読み込み専用のユーザーを作成しようと思います。ユーザー名はredash_reader、パスワードredash_readerで作成しますので、自由に変更してください。

#redash_readerを"redash_reader"というパスワードで作成
redash=# CREATE ROLE redash_reader WITH PASSWORD 'redash_reader' NOCREATEROLE NOCREATEDB NOSUPERUSER LOGIN;

#redash_readerユーザーにSELECT権限を付与
redash=# GRANT SELECT ON ALL TABLES IN SCHEMA public TO redash_reader;

念のためredash_readerユーザーが作成されたことを確認します。

redash=# \du
                                     List of roles
   Role name   |                         Attributes                         | Member of
---------------+------------------------------------------------------------+-----------
 postgres      | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 redash        |                                                            | {}
 redash_reader |                                                            | {}

後はredashの管理画面のDATA SOURCESからPostgreSQLを選択肢、先ほど作成したユーザー名とパスワードを入力。Database Nameはredashです。
Screen Shot 2018-02-01 at 12.18.50.png

Test Connectionが成功すればあとはクエリーを書くだけです。

Screen Shot 2018-02-01 at 12.28.52.png

18
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
10