PostgreSQLへのJDBCドライバを使用した接続 [Java]
PostgreSQLへのJDBCドライバを使用した接続方法を
忘れっぽい自分のためにも(笑)記事として残しておきます。
開発用PC(自宅サーバとは別のPC)で使用しているEclipseから、
自宅サーバに構築したPostgreSQLデータベースに接続しようとした際に、
PostgreSQLの外部からの接続設定でハマってしまった箇所と、
PostgreSQL用のJDBCドライバを使用して、
データベースへの接続を確立する箇所のjavaソースコードとなります。
(PostgreSQLのバージョンは8.1.11で、
JDBCドライバは「postgresql-8.1-414.jdbc3.jar」を使用しています)
以下、具体的な方法になります。
・PostgreSQL設定ファイル「pg_hba.conf」への開発PCアクセス許可設定
(設定箇所周辺のみ掲載)
解説・・・開発PC(IP:192.168.1.9と192.168.1.10)からのアクセスを許可し、Eclipseなど統合開発環境から、データベースにアクセスできるように設定しています。環境に合わせて適宜書き換えてください。
# IPv4 local connections:
host all all 127.0.0.1/32 ident sameuser
host all all 192.168.1.10 255.255.255.255 trust
host all all 192.168.1.9 255.255.255.255 trust
・PostgreSQL設定ファイル「postgresql.conf」への通信許可設定
(設定箇所周辺のみ掲載)
解説・・・「listen_addresses = '*'」を設定し、postmasterへのTCP/IPアクセスを全て許可しています。
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
listen_addresses = '*'
・JDBCドライバを使用したアクセス方法
(データベースへの接続確立部分のjavaソースコード)
// ドライバクラスをロード
Class.forName("org.postgresql.Driver");
//PostgreSQLデータベースへ接続
Connection con =
DriverManager.getConnection(
"jdbc:postgresql://設定1:5432/設定2",
"設定3",
"設定4");
※設定1から設定4は以下の設定情報を適宜置き換えてください。
設定1:PostgreSQLが稼動しているPCのホスト名またはIPアドレス
設定2:接続するデータベース名
設定3:データベースアクセスユーザ(例:postgres)
設定4:データベースアクセスユーザのパスワード
PostgreSQLへのJDBCドライバを使用した接続がうまくいかず、
行き詰ってしまった際などに、お役に立てば幸いです。
管理人が構築・管理しているお役立ち情報サイトです。もしよろしければお立ち寄りください。
https://www.dayplusdigital.com/
忘れっぽい自分のためにも(笑)記事として残しておきます。
開発用PC(自宅サーバとは別のPC)で使用しているEclipseから、
自宅サーバに構築したPostgreSQLデータベースに接続しようとした際に、
PostgreSQLの外部からの接続設定でハマってしまった箇所と、
PostgreSQL用のJDBCドライバを使用して、
データベースへの接続を確立する箇所のjavaソースコードとなります。
(PostgreSQLのバージョンは8.1.11で、
JDBCドライバは「postgresql-8.1-414.jdbc3.jar」を使用しています)
以下、具体的な方法になります。
・PostgreSQL設定ファイル「pg_hba.conf」への開発PCアクセス許可設定
(設定箇所周辺のみ掲載)
解説・・・開発PC(IP:192.168.1.9と192.168.1.10)からのアクセスを許可し、Eclipseなど統合開発環境から、データベースにアクセスできるように設定しています。環境に合わせて適宜書き換えてください。
# IPv4 local connections:
host all all 127.0.0.1/32 ident sameuser
host all all 192.168.1.10 255.255.255.255 trust
host all all 192.168.1.9 255.255.255.255 trust
・PostgreSQL設定ファイル「postgresql.conf」への通信許可設定
(設定箇所周辺のみ掲載)
解説・・・「listen_addresses = '*'」を設定し、postmasterへのTCP/IPアクセスを全て許可しています。
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
listen_addresses = '*'
・JDBCドライバを使用したアクセス方法
(データベースへの接続確立部分のjavaソースコード)
// ドライバクラスをロード
Class.forName("org.postgresql.Driver");
//PostgreSQLデータベースへ接続
Connection con =
DriverManager.getConnection(
"jdbc:postgresql://設定1:5432/設定2",
"設定3",
"設定4");
※設定1から設定4は以下の設定情報を適宜置き換えてください。
設定1:PostgreSQLが稼動しているPCのホスト名またはIPアドレス
設定2:接続するデータベース名
設定3:データベースアクセスユーザ(例:postgres)
設定4:データベースアクセスユーザのパスワード
PostgreSQLへのJDBCドライバを使用した接続がうまくいかず、
行き詰ってしまった際などに、お役に立てば幸いです。
管理人が構築・管理しているお役立ち情報サイトです。もしよろしければお立ち寄りください。
https://www.dayplusdigital.com/
はじめまして、こんばんわ。
JDBC+Postgresで検索してたどり着きました。
> ・PostgreSQL設定ファイル「postgresql.conf」への通信許可設定
現在、クライアントからJAVAプログラムでサーバのPostgreSQL
に接続しようとしているのですが、プログラミングだけではなくて
設定ファイルの編集も必要なのですね。
「postgresql.conf」っていうのはサーバサイドのファイルでしょうか。
試しにやってみたいと思います。
by Lunamaria (2009-08-13 23:03)
Lunamariaさんはじめまして。
コメントありがとうございます。
>プログラミングだけではなくて
>設定ファイルの編集も必要なのですね。
そうですね。
PostgreSQLにどのPCからの接続要求を受け付けるかなど、
セキュリティの設定が必要になってくるようです。
(私も細かいところは現在勉強中です。)
>「postgresql.conf」っていうのは
>サーバサイドのファイルでしょうか。
PostgreSQLがインストールされているPCに
存在するPostgreSQLの設定ファイルです。
サーバのPostgreSQLへの接続には、
上記記事にもありますが、PostgreSQLの設定ファイル
「pg_hba.conf」と「postgresql.conf」に
別のPCから接続するための設定が必要になります。
設定ファイルの場所ですが、
PostgreSQLインストール場所に
「data」フォルダがあると思いますので、
そのフォルダに移動していただければ、
設定ファイルが見つかると思います。
うまく接続できるといいですね。
by tata (2009-08-14 09:49)