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

外部結合 応用編2

引き続き結合についてです。 Contents1 1対Nの結合に関して2 完全外部結合3 差集合(class_aだけに存在するものとclass_bだけに存在するもの)3.1 class_aのみ3.2 c …

no image

EXISTSについて

今回はEXISTSについてです。 実務では伝票と明細との検索関連の処理で結構出てきます。 なお、達人に学ぶ~では論理学について少しふれており、この領域を本気で理解する場合は論理学を勉強する必要がありま …

no image

自己結合のイメージ

前回に引き続き結合について考えます。 例えば下記のようなテーブルがあり、重複行を削除するとします。 1 りんご 50 2 みかん 100 3 みかん 100 4 みかん 100 5 バナナ 80 この …

no image

SQL基礎 case式について

case式に関して。 集約系の関数では複雑な処理を一気に行うことができる。 case式は1列のみ有効。複数の列に対して行うことはできない。 case ~ when ・・・thenではwhenが評価され …

no image

JPAでのリレーションに関して

JPAではテーブルをクラスで定義します。もちろん例外とかはいろいろあるのですが、1テーブル1クラスというつくりで、これをエンティティと呼びます。 もともとクラスを作ってからDBを作成したり、JTAの規 …