#■概要
とにかくちょろっと使いたい人向け
Windows版です。
※はじめに、ユーザーを新しく作ってそのユーザーでSQLを実行! とやろうとするとハマるので(ハマりました)
初めから登録されているスーパーユーザーで進めて行きます。
ざっくりと流れを説明すると、
1.PostgreSQL本体とJDBCドライバを入手する
2.Javaで新規プロジェクトを作成し、jarを参照し、ソースコードをコピペする
3.実行!
と言った感じです。
初期から存在しているテーブルを参照しに行くので、準備のためのCREATE文もINSERT文も必要ありません。
#■準備
##・PostgreSQL本体の入手
http://www.postgresql.jp/download
ダウンロードリンクから、OSに対応したPostgreSQLをダウンロードする
##・JDBCドライバの入手
JavaでPostgreSQLへ接続するためにはJDBCドライバが必要
https://jdbc.postgresql.org/download.html
Current Versionからダウンロードするドライバを選択。
Java8の場合は、
JDBC42 Postgresql Driver, Version 9.4.1212
を選択。(バージョン部分は2016/11/18時点)
Java8以外の場合は、
Other Versionsを見るとJDKに対してどれを選択したら良いのかが書いてある。
ダウンロード後、解答し、jarファイルを適当な場所に置いておく。
#■PostgreSQLのインストール
何も変更しないで次に進んでいく。
パスワードを決める箇所があるので、入力しパスワードをメモしておく(重要)。
Password:test
#■Javaのプロジェクトを作成
##・新規作成
File -> New -> Java Project
ProjectName:ConnectPostgreSample(すでに存在しているので、画像は名前の末尾に2をつけています)
##・メインクラスの作成
src右クリック -> New -> Class
Name:Main(すでに存在しているので、画像は名前の末尾に2をつけています)
##・JDBCのjarを参照する
プロジェクトを右クリック -> Build Path -> Add External Archives
##・以下のコードをコピペする
作成したメインクラスに以下のコードをコピペします。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
//-----------------
// 接続
//-----------------
connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/sampleDatabase", // "jdbc:postgresql://[場所(Domain)]:[ポート番号]/[DB名]"
"postgres", // ログインロール
"test"); // パスワード
statement = connection.createStatement();
//-----------------
// SQLの発行
//-----------------
//ユーザー情報のテーブル
resultSet = statement.executeQuery("SELECT * FROM pg_shadow");
//-----------------
// 値の取得
//-----------------
// フィールド一覧を取得
List<String> fields = new ArrayList<String>();
ResultSetMetaData rsmd = resultSet.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
fields.add(rsmd.getColumnName(i));
}
//結果の出力
int rowCount = 0;
while (resultSet.next()) {
rowCount++;
System.out.println("---------------------------------------------------");
System.out.println("--- Rows:" + rowCount);
System.out.println("---------------------------------------------------");
//値は、「resultSet.getString(<フィールド名>)」で取得する。
for (String field : fields) {
System.out.println(field + ":" + resultSet.getString(field));
}
}
} finally {
//接続を切断する
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
}
}
}
##・実行する
※pg_shadowテーブルは最初から存在するユーザー情報が格納されているテーブルなので、
テーブルを作ることも、データを入れることもせずに使うことが出来ます。
---------------------------------------------------
--- Rows:1
---------------------------------------------------
usename:user
usesysid:16393
usecreatedb:t
usesuper:f
userepl:f
usebypassrls:f
passwd:md55d9c68c6c50ed3d02a2fcf54f63993b6
valuntil:2016-11-17 14:34:06+09
useconfig:null
#■以上
新人さんにPostgreSQLをとりあえず試してもらいたい時などにご利用ください。
続き
コマンドプロンプトからPostgreSQLに接続します。
http://qiita.com/wb773/items/c2fd0e1e0349a41b5844