Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
9
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@ykensuke

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

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

9
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
9
Help us understand the problem. What is going on with this article?