とにかくすぐJavaからPostgreSQLに接続を試したい

#■概要
とにかくちょろっと使いたい人向け
Windows版です。

※はじめに、ユーザーを新しく作ってそのユーザーでSQLを実行！ とやろうとするとハマるので（ハマりました）
　初めから登録されているスーパーユーザーで進めて行きます。

ざっくりと流れを説明すると、
１．PostgreSQL本体とJDBCドライバを入手する
２．Javaで新規プロジェクトを作成し、jarを参照し、ソースコードをコピペする
３．実行！
と言った感じです。
初期から存在しているテーブルを参照しに行くので、準備のためのCREATE文もINSERT文も必要ありません。


#■準備

##・PostgreSQL本体の入手
http://www.postgresql.jp/download
ダウンロードリンクから、OSに対応したPostgreSQLをダウンロードする
![ダウンロード.png](https://qiita-image-store.s3.amazonaws.com/0/18220/2a121215-2944-2193-3cce-06a68a2837a9.png)

今回はWindowsの64bit版
![ダウンロード２.png](https://qiita-image-store.s3.amazonaws.com/0/18220/14deb570-69e2-c3e6-d2b8-d8963c9cf0e4.png)

##・JDBCドライバの入手
JavaでPostgreSQLへ接続するためにはJDBCドライバが必要
https://jdbc.postgresql.org/download.html
![JDBC.png](https://qiita-image-store.s3.amazonaws.com/0/18220/2302d6cf-777e-8b70-b824-a9c0ced8ac17.png)

Current Versionからダウンロードするドライバを選択。
Java8の場合は、

	JDBC42 Postgresql Driver, Version 9.4.1212

を選択。（バージョン部分は2016/11/18時点）

Java8以外の場合は、
Other Versionsを見るとJDKに対してどれを選択したら良いのかが書いてある。
![JDBC２.png](https://qiita-image-store.s3.amazonaws.com/0/18220/3fb7304b-f6a5-3738-3b41-8b719ae517a0.png)

ダウンロード後、解答し、jarファイルを適当な場所に置いておく。

#■PostgreSQLのインストール
何も変更しないで次に進んでいく。
パスワードを決める箇所があるので、入力しパスワードをメモしておく（重要）。

	Password:test

#■Javaのプロジェクトを作成
##・新規作成
File -> New -> Java Project
![image](https://qiita-image-store.s3.amazonaws.com/0/18220/5ad34cec-aeb0-b6ad-9b81-02573ba066da.png)

ProjectName:ConnectPostgreSample(すでに存在しているので、画像は名前の末尾に2をつけています)
![image](https://qiita-image-store.s3.amazonaws.com/0/18220/0167ade0-6772-26f7-cb94-2f73e802f683.png)


##・メインクラスの作成
src右クリック -> New -> Class
![image](https://qiita-image-store.s3.amazonaws.com/0/18220/12f80801-8d06-3c2f-bc1e-224dd7d9d03e.png)

Name:Main(すでに存在しているので、画像は名前の末尾に2をつけています)
![image](https://qiita-image-store.s3.amazonaws.com/0/18220/7cb84079-2711-c500-2742-aa07fda9e8e2.png)

##・JDBCのjarを参照する
プロジェクトを右クリック -> Build Path -> Add External Archives 
![image](https://qiita-image-store.s3.amazonaws.com/0/18220/bbb38142-4021-79e7-ceef-34cbb7058bf7.png)

準備のときに取得したJDBC用のjarファイルを選択する。
![image](https://qiita-image-store.s3.amazonaws.com/0/18220/866fcd64-b25a-3198-bced-ab85be95e443.png)


##・以下のコードをコピペする
作成したメインクラスに以下のコードをコピペします。

```java:Main.java
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