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

フィールド以外のプロパティをエンティティに持たせる

JPAでは基本的に1テーブル、1クラスです。 このためプロパティは必然的にテーブルのフィールドに対応しています。 ただ、必ずしもプロパティだけでなく、臨時で持たせておきたい、プロパティがあったりします …

no image

MySQLのロックに関して+サブクエリ内のupdate

MySQLのロックに関して。 データベースではデータの整合性を保つために読み書きを一時的に制限する仕組みがあります。(データベースだけではないですが・・・) 大きく分けると共有ロック(書き込みは当然だ …

no image

PostgreSQLについて

本日はポスグレ(PostgreSQL)について。 自分はほとんどMySQLだったので、主にMySQLとの比較について書いていきます。 Contents1 アーキテクチャの違い1.1 MySQL1.2 …

no image

データベースのインデックスについて

今回はデータベースのインデックスに関して。 検索条件を早くする場合、何よりも速度が速くなるのはインデックスを張ることでしょう。 インデックスを張ることは単語を索引順に並べることですので、劇的に速度が向 …

no image

SQL case式やウィンドウ関数の威力

プログラマには「プログラムは思った通りに動かない。書いた通りに動く。」「バグではない仕様です」なんて面白い格言がいろいろありますが、データベースの世界にも「WHERE句で条件分岐させるのは素人のやるこ …

アーカイブ