異なるセッションで未定義の関係の問題:表 - 私の目標のPostgreSQLデータベースでSQLWorkbenchを使用して文を作成し、私は次のことを実行している
CREATE TABLE Config (
id serial PRIMARY KEY,
pub_ip_range_low varchar(100),
pub_ip_range_high varchar(100)
);
右の表を作成した後、私は選択*」と入力し、テーブルのコンテンツを要求しますfrom config; 'そのテーブルが取得できることを確認します。それにもかかわらず、JDBCタイプ4ドライバを使用する私のJavaプログラムは、同じSELECT文を発行するとテーブルにアクセスできません。プログラムがconfigテーブルの "未定義の関係"と書かれている情報にアクセスしようとすると、例外がスローされます。
私の質問は以下のとおりです。
-
私は文を作成、実行前にいたsqlworkbenchがテーブルを認識するのはなぜ
- は私のJavaプログラムがそれを見つけることはできませんが?
- postgressql DBMSはどこで作成したテーブルを置くのですか?私はそれらを公にも情報スキーマにも見ません。
注:ターゲットのpostgresデータベースを確認しましたが、SQL Workbenchはクエリを実行できますが、どこでもConfigテーブルを参照できません。次に別のSQLワークベンチインスタンスを開き、テーブルを照会できない(つまり見つからない)ことに気付きました。したがって、私の結論は、PostgreSQLが、最初に実行したSQLBenchインスタンスで作成したテーブルを、そのセッションにバインドされた血なまぐさい場所に配置することです。別のSQL Workbenchのインスタンスまたはmy javaプログラムはセッションにバインドされていないため、以前に作成したテーブルの設定を照会することはできません。
SQLWorkbench内でSELECT current_schema()を実行して、どのスキーマでテーブルを作成しているかを確認してください。また、どのスキーマを照会しているかをjavaで調べてみてください。あなたは取引を開いていますか? – DavidEG
大文字小文字の大文字小文字の区別がないようにしてください。彼らは混乱につながる可能性があります。 – wildplasser
上記のselect文はpublicを返します。私はJavaプログラムからpublic.configと入力してテーブルをクエリしようとしましたが、問題を解決するのに役立たなかった。とにかくありがとう/それ以上の提案? –