skillup

技術ブログ

Database

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

投稿日:

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

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

postgresへのログイン

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

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

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

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

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

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

インストールから基本的な流れまで
http://tigertaizo.hatenablog.com/entry/2015/02/11/155036

ログイン失敗時の対処法
http://qiita.com/tomlla/items/9fa2feab1b9bd8749584

pg_ctlコマンドに関して
http://ossfan.net/setup/postgresql-11.html
http://www.ksknet.net/postgresql/pg_ctl_postgres.html

pg_hba.confに関して
http://rina.jpn.ph/~rance/linux/postgresql/connect.html
http://xusuprogram.blog.fc2.com/blog-entry-81.html

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

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

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

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

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

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

https://prepro.wordpress.com/2009/01/08/postgresql%E3%81%AEshmmax%E3%81%AE%E8%A8%88%E7%AE%97%E5%BC%8F%E3%81%AE%E6%A4%9C%E8%A8%BC/

リモートからの接続

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

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

開放されたか否かは下記サービスでチェック
https://www.cman.jp/network/support/go_port.cgi

リモート接続に関して
http://qiita.com/YusukeHigaki/items/9bd0c21fbcc47e12b5c1

postgresもわからんこと多いなー・・

-Database

執筆者:


comment

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

関連記事

no image

HAVING句について

本日はHAVINGについて。 かろうじて用法はしっており、たまに使うこともありますが、あまりしっかり理解しているとはいえない状況ですので、掘り下げてみようと思います。 WHEREとは違い、抽出した結果 …

no image

第二、第三の正規化&ER図&Check制約

前回第一正規化を話したので、第二、第三に進んでいきます。 Contents1 第二正規化とは?2 第三正規化とは?3 正規化のメリット4 ER図5 本日のSQLネタ Check制約 第二正規化とは? …

no image

データベース設計のアンチパターン 重すぎるOLTP+Date型不統一+データ量想定が甘い

Contents1 重すぎるOLTP1.1 デメリット1.2 対策2 DATE型の型の不統一2.1 デメリット2.2 対策3 データ量の想定が甘い3.1 デメリット3.2 対策 重すぎるOLTP ※O …

no image

dbUnitの使い方

えーJavaで有名なテストツールDBUnitについて。 DbUtilではありませんので間違えないように。(私は最初間違えました・・・) まだ全然使い込んでるわけではありませんがどんなことができるかとい …

no image

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

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