• ベストアンサー

postgreSQL11の挙動

クライアント側で作成したデータベースがサーバ側では見えないのですが、そういうものですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

> クライアント側からpsqlで相手のIPアドレスをホストにしてデータベースを作成しているので、 > サーバ側で見るときにローカルに入っているのかもしれません。・・この認識はあってますか? サーバ、クライアントと言う言葉が2つの意味で使われているのが混乱の原因かと思いますので、マシンはPC1とPC2、PostgreSQLはpsqlとサーバとと言い換えます。 PC1のpsqlでホストにPC2を指定して接続する(psql --host=PC2 --username=hoge)とPC2で稼働しているサーバにログインすると、PC2のサーバ内にあるデータベースが見られます。 PC2のpsqlでホストにPC2を指定して接続する(psql --host=PC2 [又はlocalhost] --username=hoge)と先程PC1で接続した時と同じデータベースが見られます。 ホスト名を間違えていたり、ユーザ名を間違えていると目的のデータベースが見られません。 ユーザ名を省略するとPCのログインIDが自動的に利用されるので、PC1とPC2でログインIDが異なっているとPostgreSQLに異なるユーザでログインしている事になるので、適切にアクセス権が設定されていないと同じデータベースを見ることができません。

NEW2010
質問者

お礼

早速のコメントありがとうございます。 とても分かりやすいです。 なお、ユーザー名に問題があるかもしれません。確認します。

NEW2010
質問者

補足

PC2において、 psql -h localhost -U pgadmin -d sample と打つとsampleデータベースが開きます。存在しています。 しかし、PC2にて psql -h (PC2のIPアドレス) -p (PC2のポート) -U pgamin -d sample と打つと、「ロール"pgadmin"は存在しません」の表示です。 これはネット上の問題でしょうか? 相手先のpostgresQLのバージョン情報などが返ってくるのでアクセスしているような感じですが・・

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

クライアント側でサーバのPostgreSQLにログインしてデータベースを作成したのであれば、サーバ側でそのサーバのPostgreSQLにログインして見れば同じデータベースが見えます。 クライアント側でサーバへアクセスしているつもりがローカルで動いているPostgreSQLにログインしてデータベースを作成したらサーバ側では見えませんし、違うサーバにアクセスしていたと言った事も原因として考えられます。

NEW2010
質問者

お礼

ありがとうございます。 クライアント側からpsqlで相手のIPアドレスをホストにしてデータベースを作成しているので、 サーバ側で見るときにローカルに入っているのかもしれません。・・この認識はあってますか?