skillup

技術ブログ

Database

Postgres リモートホストからの接続他

投稿日:2017年6月23日 更新日:

今まで使ってきたデータベースはMySQLがほとんどなのですが、最近少し、Postgresを触っています。

今回はパスワードの設定とリモートからの接続など。

postgresへのログイン

postgresへのログインですが、いつも

とコマンドをうっていました。これはロール(MySQLでいうところのユーザー)、postgres, データベースpostgresを選択しています。

ロールやデータベースを選択したい場合

になります。ここでユーザー名、データベース名にpostgresをいれてログインしようとしましたが、認証エラーが発生。

どうやら設定ファイルを正確に設定していないとおこるエラーのようです。

下記のように設定ファイルを修正

インストールから基本的な流れまで
CentOS7.0(Vagrant)にPostgreSQL 9.4インストール

ログイン失敗時の対処法
peer認証の関係でpsqlログインできない時の対処法

pg_ctlコマンドに関して

PostgreSQLの起動・停止
pg_ctl – postgresサーバの起動と停止

pg_hba.confに関して

他ホストから接続するための設定
Peer authentication failed for user “postgres”

メモリ不足による起動の失敗

postgresに割り当てるOSの共有メモリが少ないと起動に失敗することがあります。

例えば自分の場合、起動したところ下記のようなエラーメッセージが出力されました。

どうやら下記コマンドで調べられるようです。

自分の場合、要求(41222144)に対し、実際のサイズが33554432だったため、起動に失敗しました。

下記コマンドでサイズを上げてから起動すると無事成功。

PostgreSQLのSHMMAXの計算式の検証

リモートからの接続

無事、ロールとデータベースを選択できるようにはなったのですが、リモートホストからは接続できません。リモートから接続するためには下記のようにします。前提条件としてiptablesやfirewallでport(postgresはディフォルトだと5432)を開放しておきます。

また設定ファイルを修正します。

開放されたか否かは下記サービスでチェック
Portチェックテスト【外部からのPort開放確認】

リモート接続に関して
postgresqlを他ホストからもつなげるようにする

ちなみにパスワードはdefaultでpostgresかと思いましたが、設定されていないこともあるようです。

その場合、認証方法をidentやmd5ではなく、trustにするとパスワードなしでログインできます。

その時に

上記のように入力してあげればパスワードをセットすることができるので、一度ログアウトし、認証方法をmd5に再修正して入ることができます。

-Database
-

執筆者:


  1. […] Postgres リモートホストからの接続 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

日付がらみの処理に関して(MySQL&Java)

MySQL触りだして3年ぐらいたつんですがいまだに整理できないことが多いです。(特に日付がらみ) ちょっとJavaのネタと合わせて整理しておこうかなーと思います。 Contents1 MySQLの日付 …

no image

HAVING句の活用 発展編

今回からはまたまたHAVING句です。 下記のようなテーブル(teams)があり、全員が待機状態のチーム(全員がそろっている)を求めます。 member | team_id | status &#82 …

no image

大規模Webサービス技術入門 DBの分散

前回に引き続き、大規模サービスを運用するときに必要になるMySQLの知識についてのまとめ Contents1 テーブル・SQL設計2 レプリケーション機能3 パーティショニング テーブル・SQL設計 …

no image

ユニークキーの設定

MySQLでのユニークキーの設定に関して。 ユニークキーの設定は下記の通り。

ユニークキーを作成した後に確認するのは下記コマンドで。 …

no image

HAVING句がらみの計算式

「達人に学ぶSQL徹底指南書」読んでますが、かなり難しいものがでてきましたね。 テーブルは前回のものと同じ以下のものを使います。 name | income ————+——– サンプソン | 4000 …