-
投稿者投稿
-
2024年9月9日 6:11 AM #750e-t
お世話になります。
ダウンロード後、接続可能であることを確認した後、セットアップの実行を行ってみたのですが、
各種Tableについて「doesn’t exists」が表示されてしまい、後続処理が実行されない状況でした。大変お手数ですが、この場合の対処について教えていただけると助かります。
(初期設定に必要なDDLの取り込みなどあるのでしょうか。)どうぞよろしくお願いいたします。
2024年9月15日 4:05 PM #751Keoughe-tさん
お世話になります.
使用環境を教えていただけますか?
OSのバージョン.データベース種類(MySQLorPostgreSQL)とポートNo.,データベース名(mykeibadbという名前でなければ)など.
よろしくお願いします.2024年9月16日 9:20 PM #753nudaはじめまして。(横からすみません)
同じ症状のため書き込みさせていただきます。<ログ>
mykeibadb Ver.3.1β for PostgreSQL Copyright(c) Keough
---セットアップデータ---
TOKU:TKTW2024091620240916170643.jvd |———-| 1/1=100%
42P01: relation “tokubetsu_torokuba” does not existPOSITION: 13
42P01: relation “tokubetsu_torokubagoto_joho” does not exist
(以下省略)
===OSのバージョン:Windows 10 ver 22H2
データベース種類:PostgreSQL
ポートNo.:5432
データベース名:jra-van-1AWS上のインスタンス(ubuntu 22)にpostgreSQL(ver.16)を用意し、
Win側PCから認証含め接続が出来ていることはPowerShellでpsqlコマンドを利用し確認できているのですが、
おそらくReadmeにおける
> ◯初回実行時にはデータベースを作成するか聞いてくるので,良ければyを入力して
> ください.
の処理が実行されないため(上記ログの通りユーザ側に問い合わせされませんでした)
テーブルが存在しないままセットアップ処理が走っているのではないかと考えられます。当該DB(jra-van-1)はpsqlからCREATEしただけの空DBのため、当然\dtをしても
>jra-van-1=# \dt
>Did not find any relations.
となります。初回実行時にデータベースを作成する挙動において、
データベース自体が存在しないと不存在でエラーになるためCREATEしたのですが、
正しい想定操作があればご教示いただけますと幸いです。2024年9月21日 9:47 AM #754Keoughnudaさん
有難うございます.
当方で調査したところ,データベース名に”-“(ハイフン)が入っているとデータベースの作成に失敗することが分かりました.
(知識不足で済みませんでした.)
近々JRA-VANに修正版をUPします.
お急ぎの場合,もし可能であれば”-“を含まないデータベース名にしていただけたら幸いです.
よろしくお願いいたします.2024年9月21日 10:23 AM #755nuda分析、ご対応をいただきありがとうございます。
早速DBを作り直し、DBの名前をjra-van-1ではなくjravan_1として起動したのですが、ログに変化はありませんでした。
<ログ>
mykeibadb Ver.3.1β for PostgreSQL Copyright(c) Keough
---セットアップデータ---
TOKU:TKHW2024091720240917160930.jvd |———-| 1/1=100%
42P01: relation “tokubetsu_torokuba” does not exist
(以下省略)同様に、テーブル作成のy/n確認が表示されない形になります。
ご報告させていただきます。お手数をおかけしまして誠に恐縮です。何卒よろしくお願いいたします。
2024年9月21日 12:09 PM #756nudaさん
当方では
・Windows上のPostgreSQL
・VirtualboxにインストールしたUbuntu上のPostgreSQL
の2つの環境がありますが,両方とも問題なくテーブル作成,更新ができております.AWSインスタンス固有の問題があるかもしれないので,調査してみます.
2024年9月21日 2:23 PM #757nudaKeoughさん
ご検証、お手数をおかけしまして申し訳ございません。
AWSインスタンスの問題かもしれないため、再構成などトライしてみます。
ご迷惑をおかけしまして大変恐れ入ります。受信側のpostgresql/postgresql-16-main.logではこのように記録されておりましたので、ご参考までに貼り付けいたします。
PostgreSQLを再起動後からのログです。2024-09-21 05:19:11.290 UTC [4650] LOG: starting PostgreSQL 16.4 (Ubuntu 16.4-0ubuntu0.24.04.2) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0, 64-bit 2024-09-21 05:19:11.290 UTC [4650] LOG: listening on IPv4 address "0.0.0.0", port 5432 2024-09-21 05:19:11.290 UTC [4650] LOG: listening on IPv6 address "::", port 5432 2024-09-21 05:19:11.294 UTC [4650] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 2024-09-21 05:19:11.303 UTC [4653] LOG: database system was shut down at 2024-09-21 05:19:01 UTC 2024-09-21 05:19:11.311 UTC [4650] LOG: database system is ready to accept connections 2024-09-21 05:19:40.370 UTC [5063] jravan_1@jravan_1 ERROR: relation "tokubetsu_torokuba" does not exist at character 13 2024-09-21 05:19:40.370 UTC [5063] jravan_1@jravan_1 STATEMENT: delete from TOKUBETSU_TOROKUBA where race_code = '2024092106040608' 2024-09-21 05:19:40.489 UTC [5063] jravan_1@jravan_1 ERROR: relation "tokubetsu_torokubagoto_joho" does not exist at character 13 2024-09-21 05:19:40.489 UTC [5063] jravan_1@jravan_1 STATEMENT: delete from TOKUBETSU_TOROKUBAGOTO_JOHO where race_code = '2024092106040608' and renban ='001' 2024-09-21 05:19:40.607 UTC [5063] jravan_1@jravan_1 ERROR: relation "tokubetsu_torokuba" does not exist at character 13 2024-09-21 05:19:40.607 UTC [5063] jravan_1@jravan_1 STATEMENT: delete from TOKUBETSU_TOROKUBA where race_code = '2024092106040609' 2024-09-21 05:19:40.721 UTC [5063] jravan_1@jravan_1 ERROR: relation "tokubetsu_torokubagoto_joho" does not exist at character 13 2024-09-21 05:19:40.721 UTC [5063] jravan_1@jravan_1 STATEMENT: delete from TOKUBETSU_TOROKUBAGOTO_JOHO where race_code = '2024092106040609' and renban ='001'
なお、mykeibadb.iniでは
[GENERAL]DBKIND=PostgreSQL PGPORT=5432 DATABASE=jravan_1
[FROMTIME]は全て00000000000000、[SETUP]ALL=1 TK=1のみで走らせています。2024年9月21日 6:36 PM #758nudaKeoughさん
色々と試して自己解決しましたのでご報告いたします。
原因は環境の違いではなく、操作手順の勘違いでした。
当該のエラーが発生するのは、mykeibadbを実行する前にiniに登録したデータベースを
SQL側であらかじめCREATEしたために起こるものと思われます。ユーザーをスーパーバイザーにし、データベースをCREATEせずに(iniで指定するデータベースが存在しない状態で)
走らせたところ、無事データベース作成の問い合わせが出て、データベースとテーブルの両方が作成され、
その後のセットアップ処理も問題なく完了しました。なぜ事前にSQL側で空データベースをCREATEして持っておいたのかというと、
サーバー上のセキュリティの慣習的に、
認証ユーザーをスーパーバイザー(postgreSQLの場合はpostgre)ではない
このDB用の別ロールのユーザーに設定しており、そのロールをオーナーとして設定するためにデータベース側も作成はしておいたためです。おそらくwmykeibadbでのini作成時にはデータベース名は希望するものを入力するという意味であって、データベース自体を事前に作成する手順をユーザ側が取る必要はなく(むしろとってはいけなく)、
mykeibadbでは「データベースが存在しない場合に、データベースとテーブルの両方を作成する」という想定で、
「データベースは存在するがテーブルは存在しない」という状態を想定されていないのではないでしょうか。
その部分で理解に勘違いをしてしまい、お手数をおかけいたしました。大変失礼いたしました。おそらく同じような運用理由や、または勘違いで「wmykeibadbでデータベース名を入力する前に自分で同名のデータベースをCREATEしておく必要がある」と考えてしまう方がいらっしゃるかもしれません。
もし将来アップデートされることがありましたら、データベースが空の場合にはテーブルだけを作成するといったフローもご検討をいただけますと幸いです。この度はお時間を割いていただき、誠にありがとうございました。
ご作成いただいたツールを有効活用させていただきます!
どうぞよろしくお願いいたします。2024年9月21日 8:25 PM #759nudaさん
有難うございます!状況理解できました.
「データベースが空の場合にはテーブルだけを作成するといったフローもご検討をいただけますと幸いです」については次回アップデートで対応させていただきます.nudaさんのような方がおられるおかげで,ソフトウェアの質が上がるのだとつくづく痛感した次第です.
ありがとうございました. -
投稿者投稿
- トピック「初期設定について」には新しい返信をつけることはできません。