2018年8月25日土曜日

8月25日 PostgreSQL

久しぶりに自宅でデータベース構築を行っています。
パソコも買い替えたことだし。

環境は以下の通りです。
・仮想マシンの作成(Ubuntu)
・仮想マシンにPostgreSQLをインストール
・ホストマシン(Windows10)にpgAdmin4をインストール
・ホストマシンにTeraTermをインストール
 TeraTermに関しては、そこまで重要ではない…

で、感じたこと…
pgAdminn4ヤバいな(笑)
使用言語を英語から日本語に変更すると…使用不可になります。

エラーメッセージは以下の通りです。
---------------------------
Fatal Error
---------------------------
The application server could not be contacted.
---------------------------
OK 
---------------------------
普段、pgAdmin3を使ってるので…初めての4ですが…
どうもWebサーバー(?)を立ち上げて、サービスを提供しているようですが、
何かするとサーバーの起動に失敗するみたいですね。
…2重起動っぽくなって、両方死ぬ感じ?
 それとも、再起動するときに、前のプロセスがしに切る前に起動するのか?

[Copy server URL]を選択し、コピーしたURLをブラウザーに張り付けると
500エラー(Internal Server Error)になります。

アプリケーションが情報を出力するフォルダの中
(c:\ユーザー\ユーザー名\AppData\Roming\pgAdmin)の中を見てみると…
いくつかファイルとフォルダーが生成されています。

C:.
│  pgadmin4.db
│  pgadmin4.log

├─sessions
│      5b2439ec-3040-4ecd-b613-7bbbf0885939
│      970e1942-f880-4e33-8684-f9ec8a1aab8b

└─storage
 ログファイルを確認してみましたが…こんなエラーが出ていました。
「sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: user [SQL: 'SELECT user.id AS user_id, user.email AS user_email, user.password AS user_password, user.active AS user_active, user.confirmed_at AS user_confirmed_at \nFROM user \nWHERE user.id = ?\n LIMIT ? OFFSET ?'] [parameters: ('1', 1, 0)] (Background on this error at: http://sqlalche.me/e/e3q8)
2018-08-25 01:25:15,548: ERROR werkzeug: Error on request:
Traceback (most recent call last):」
ログファイルもpgAdmin4の一番最初のプロセスが生き残り続ける(?)ため、
ログファイルを掴みっぱなしなるので、pgAdmin4の全てのプロセスを殺さない限りログを確認することはできません。

pgadmin4.dbでも見に行っているのかな???
だとすると、pgadmin4.dbを消せば動くんじゃいのかな?
インストール直後だと…多分ファイルは存在しないはずだし。

と、いうことで…
db、logファイル及び、セッションフォルダ内のファイルを削除してみたところ…
pgAdmin4は起動するようになりました。

予想通り、全て初期状態…
が、設定変更不可…という結果になるわけだね。

と、いうことで結論。
危なっかしくて使っていられない。
よって、pgAdmin4は使わない!!!

あ、でも…
英語のまま使えるかどうかは未確認なので、何とも言えません。

とりあえず、起動しなくなった時の対処方法としては…
「起動しなくなったら…アプリケーションの設定情報を削除する。」ですね
※削除することにより、pgAdmin4の設定が初期状態に戻ります。

明日、pgAdmin3を使ってみようと思っています。

0 件のコメント:

コメントを投稿