質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

1回答

4359閲覧

psql で-hを省略した場合は接続できなくて、-h localhostを指定すると接続できるのはなぜ?

doragonta

総合スコア13

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2020/10/29 06:39

編集2020/10/30 05:41

環境:
CentOS8
postgresql11.7

他の人が構築したpostgresに接続しようとして、以下のコマンドを発行したところエラーになりました。

psql -U postgres -d test

[psql: サーバに接続できませんでした: そのようなファイルやディレクトリはありません
ローカルにサーバが稼働していますか?
Unixドメインソケット"/var/run/postgresql/.s.PGSQL.5432"で通信を受け付けていますか?]

と怒られました。しかし、以下のコマンドだと接続できました。

psql -U postgres -d test -h localhost

psql の-hはデフォルトだとlocalhostになると思っていたのですが、違うのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

PostgreSQLは触った事がありませんが。

psql の-hはデフォルトだとlocalhostになると思っていたのですが、違うのでしょうか?

マニュアルには、そんな事は書かれていません。

ホスト名を省略した場合、psqlはUnixドメインソケット経由でローカルホストにあるサーバに、Unixドメインソケットを持たないマシンではlocalhostへのTCP/IP経由で接続します。

「Unixドメインソケット」というは、ファイル(のようなもの)で通信を行う事です。
ネットワークを介しての通信(インターネットプロトコルソケット)とは、手段自体が違います。


余談。
「Unixドメインソケットを持たないマシン」とはWindowsの事だと思いますが、Windowsも最近(といってももう2年前ですが)になってUnixドメインソケットが使えるようになったんですね。

投稿2020/10/29 11:48

katsuko

総合スコア3538

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

doragonta

2020/11/12 08:07 編集

回答ありがとうございます! Unixドメインソケット部分に関しては理解ができていませんが、 ホスト名を省略した場合はローカルホストにあるDBサーバに接続するって書いてあるように見えます。 -h localhostを指定した場合もローカルホストにあるサーバに接続するということだと思います。 差異としては、ローカルホストに接続する際に、Unixドメインソケット経由か、インターネットプロトコルソケット経由かということでしょうか?
katsuko

2020/10/30 11:23

はい、そうです。
doragonta

2020/11/12 08:08

ありがとうございます。少し理解できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問