PostgreSQL | PostgreSQLの設定および基本的な利用方法

PostgreSQLとは,フリーでオープンソースのリレーショナルデータベースシステム(RDBMS)である.拡張性が非常に高く,複雑なデータ処理に強い.信頼性重視の業務におすすめとなる.
本記事では,PostgreSQL設定および基本的な利用方法を以下に記す.
実施環境
Windows11
PostgreSQLのダウンロード方法
以下URLにて各OSに適用したPostgreSQLをダウンロードすることができる.
私の場合,Windows用のため,以下URLにアクセスした.
PostgreSQL | Downloads | Windows
以下画面が表示されるので,赤枠の"Download the installer"をクリックする.

以下画面に遷移するので,自分のOSとPostgreSQL versionを選んでダウンロードする.私の場合,今回はPostgreSQL version 16.9を選択した.

以下のように,exeファイルをダウンロードすることができた.ダブルクリックをしてファイルを開く.

PostgreSQLのインストール方法
以下画面が表示されるので,"Next"をクリックする.

以下画面が表示されるので,Installation directoryを選択し,"Next"をクリックする.

以下画面が表示される.必要なコンポーネントにチェックを入れ,"Next"をクリックする.

以下画面が表示されるので,data directoryを選択し,"Next"をクリックする.

以下画面が表示されるので,Passwordを入力し"Next"をクリックする.なお,このPasswordはSQL Shell (psql) を利用する際に必要となるので,メモしておく.

以下画面が表示されるので,Portを選択し,"Next"をクリックする.

以下画面が表示される.場所を選択し,"Next"をクリックする.

以下画面が表示されるので,"Next"をクリックする.

以下画面が表示されるので,"Next"をクリックする.

以下画面が表示されるので,"Finish"をクリックする.スタックビルダ (Stack Builder)も利用する場合はチェックを入れておく.

スタックビルダ (Stack Builder) の利用
以下画面が表示されるので,"次へ"をクリックする.

以下画面が表示されるので,"次へ"をクリックする.

以下のように,エラーとなる.

以下画面が表示されるので,必要な項目にチェックを入れ,"次へ"をクリックする.チェックを入れないと上記のようなエラーが表示される.

以下画面が表示されるので,"次へ"をクリックする.

以下画面が表示されるので,"次へ"をクリックするとインストールが開始される.

pgAdminとSQL Shell (psql) の起動
上記のインストールが完了後,Windowsマークをクリックする.

以下画面が表示されるので,"すべて"をクリックする.

アプリ一覧が表示されるので,"PostgreSQL"を探しクリックすると,以下のように各アプリが表示される.まずは"pgAdmin 4″をクリックする.

以下のように,passwordを入力し,"OK"をクリックする.
※初めて開くと,passwordの設定が要求される.2回目以降が以下画面となるので,最初に設定したpasswordを入力する.

以下画面が表示され,pdAdminを利用することができる.

アプリ一覧に戻り,"SQL Shell (psql)"をクリックする.

以下画面が表示される.Enterをクリックしていくと,赤枠のパスワードを要求される.この際にインストールで入力したパスワードを利用する.

SQL Shell (psql)でのデータベース操作
以下コマンドを実行すると,データベースを作成することができる.
- database name: test_db
# create database test_db;
以下コマンドを実行すると,パスワード付きのユーザーを作成することができる.
- user name: test_user
- password: test123
# create user test_user with password 'test123';
以下コマンドを実行すると,test_userにtest_dbのすべての権限を与えることができる.
# grant all privileges on database test_db to test_user;
以下コマンドを実行すると,データベースの一覧を出力することができる.
# \l
なお,以下はデータベースの一覧を出力結果となる.
# \l
データベース一覧
名前 | 所有者 | エンコーディング | ロケールプロバイダー | 照合順序 | Ctype(変換演算子) | ICUロケール | ICUルール: | アクセス権限
-----------+----------+------------------+----------------------+--------------------+--------------------+-------------+------------+------------------------
postgres | postgres | UTF8 | libc | Japanese_Japan.932 | Japanese_Japan.932 | | |
template0 | postgres | UTF8 | libc | Japanese_Japan.932 | Japanese_Japan.932 | | | =c/postgres +
| | | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | libc | Japanese_Japan.932 | Japanese_Japan.932 | | | =c/postgres +
| | | | | | | | postgres=CTc/postgres
test_db | postgres | UTF8 | libc | Japanese_Japan.932 | Japanese_Japan.932 | | | =Tc/postgres +
| | | | | | | | postgres=CTc/postgres +
| | | | | | | | test_user=CTc/postgres
(4 行)
参照
以上