redash エラー解決メモ

# 概要

* redash導入時に遭遇したエラーをメモ

# 詳細

* 導入手順は簡単に以下のようなもの

```
$ git clone https://github.com/getredash/setup.git
■setup.shを改造
$ vi setup
:
#sudo docker-compose run --rm server create_db ※コメントアウトする
#sudo docker-compose up -d ※コメントアウトする。docker-compose.ymlを編集してから起動したいため

:

内部ディスクへのpostgreDBデータ領域作成回避
#if [[ ! -e $REDASH_BASE_PATH/postgres-data ]]; then
#    mkdir $REDASH_BASE_PATH/postgres-data
#fi
#外部ディスクをマウントしたパスに変更
if [[ ! -e  /data/postgresql/postgres-data ]]; then
    mkdir -p /data/postgresql/postgres-data
fi

/data/postgresql/data/
:
$ cd setup
$ bash setup.sh
$ sudo docker-compose run --rm server create_db
$ sudo docker-compose up -d
$ docker ps
```
* http://<IP_ADDRESS>
    * IPは外部公開ならGlobalIP
    * ポートは開けておくこと
    * 80番など使用済みならdocker-compose.ymlでホスト側ポートを8080などにしておく
    * redashのポート:5000はアクセス時指定しなくても問題ない


<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57350/09775ed1-d7fb-a29d-1e9d-960034c8ba21.png" width=30%>

## エラー詳細

* posgreのパスワードがpythonからのDB接続で使用できない旨のエラー
    * 古いposgreデータが構築されたままである可能性
        * 古いデータはすべて削除：rm -fr /opt/redash/postgres-data
        * 古いデータはすべて削除：rm -fr /data/postgresql/*
    * 古いdockerが走ったままの可能性
        * コンテナ停止：docker stop $(docker ps -q)
        * コンテナ削除：docker rm $(docker ps -q -a)
    * 古いdockerイメージが
        * コンテナイメージ削除：docker rmi $(docker images -q)
    * /opt/redashなど古いredashデータが残っている
        * 古いデータはすべて削除：rm -fr /opt/redash/*

* マメ
    * /opt/redash/env内のPOSTGRES_PASSWORDの値とREDASH_DATABASE_URLのユーザパスワードが同じであることを確認
    * 同じでもsetup.shでDB接続できない場合は上記の原因の可能性が高い

```
$ bash setup.sh

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL:  password authentication failed for user "postgres"
 (Background on this error at: http://sqlalche.me/e/e3q8)
```


* 参考） 正常な出力

```
$ bash setup.sh
W: Target Packages (stable/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:58 and /etc/apt/sources.list.d/docker.list:1
W: Target Packages (stable/binary-all/Packages) is configured multiple times in 
:
:
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   664  100   664    0     0   2886      0 --:--:-- --:--:-- --:--:--  2886
100 11.2M  100 11.2M    0     0  2815k      0  0:00:04  0:00:04 --:--:-- 3153k
--2021-12-14 20:41:35--  https://raw.githubusercontent.com/getredash/setup/master/data/docker-compose.yml
：
HTTP request sent, awaiting response... 200 OK
Length: 1076 (1.1K) [text/plain]
Saving to: ‘docker-compose.yml’

docker-compose.yml.1                  100%[======================================================================>]   1.05K  --.-KB/s    in 0s      

2021-12-14 20:41:35 (45.3 MB/s) - ‘docker-compose.yml’ saved [1076/1076]

Pulling redis (redis:5.0-alpine)...
5.0-alpine: Pulling from library/redis
59bf1c3509f3: Pull complete
:
8cfef0002c8a: Pull complete
：
Status: Downloaded newer image for redis:5.0-alpine
Pulling postgres (postgres:9.6-alpine)...
：
c50e01d57241: Pull complete
:
2a0e844974a7: Pull complete
：
Creating redash_redis_1    ... done
Creating redash_postgres_1 ... done
：
Pulling nginx (redash/nginx:latest)...
latest: Pulling from redash/nginx
2bb30e6532d8: Pull complete
:
571c4c139c59: Pull complete
：
Status: Downloaded newer image for redash/nginx:latest
redash_postgres_1 is up-to-date
redash_redis_1 is up-to-date
Creating redash_server_1           ... done
Creating redash_scheduled_worker_1 ... done
Creating redash_scheduler_1        ... done
Creating redash_adhoc_worker_1     ... done
Creating redash_nginx_1            ... done
```