そう感じている方は多いです。プログラミングやデータ分析を始めようとしたとき、「まずPostgreSQLを入れてください」と言われても、どこから手をつければいいか途方に暮れてしまいますよね。
WSL2(Windows Subsystem for Linux)を使えば、Windowsのメイン環境を壊さずにLinuxを起動し、本格的なデータベースサーバーを動かすことができます。
この記事では、WSL2 + UbuntuにPostgreSQLをインストールし、データベース・ユーザーの作成から基本SQLの実行まで、IT未経験の方でも再現できるよう手順を解説します。
この記事のポイント
・WSL2のUbuntuにPostgreSQLをapt一発でインストールする方法がわかる
・psqlコマンドでDBに接続し、ユーザー・データベースを作成できるようになる
・CREATE TABLE・INSERT・SELECTの基本SQLをWSL2環境で実際に動かせる
・接続エラーや起動失敗など、よくあるトラブルの対処法がわかる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
PostgreSQLとは何か?初心者向けに30秒で解説
PostgreSQL(ポストグレスキューエル)は、世界中の現場で使われているオープンソースのデータベース管理システム(DBMS)です。「データベース」とは、大量のデータを整理して保存・検索できる仕組みのことです。Excelの表に似ていますが、何万件・何百万件のデータでも高速に扱えるのが特徴です。
MySQLやSQLiteと並んでよく使われますが、PostgreSQLは特に「正確さ」と「高度な機能」を重視して設計されており、実務のWebアプリケーションや業務システムで広く採用されています。WSL2で学ぶメリットは、Windowsを使いながら本番に近い環境で練習できることです。
インストール前の確認:WSL2とUbuntuが起動しているか確認する
PostgreSQLを始める前に、WSL2環境が正しく動いているかを確認します。Windowsのスタートメニューから「Ubuntu」を開いてターミナルを起動し、以下のコマンドを入力してみましょう。# UbuntuのバージョンとWSL環境を確認 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.2 LTS Release: 24.04 Codename: noble
ステップ1:apt-getでPostgreSQLをインストールする
Ubuntuでは、apt(エーピーティー)というパッケージ管理コマンドを使ってソフトをインストールします。まずパッケージ一覧を更新してから、PostgreSQLをインストールします。【重要】インストールには管理者権限(sudo)が必要です。パスワードを求められたらWSL2のLinuxユーザーのパスワードを入力してください(Windowsのログインパスワードではありません)。
# パッケージ一覧を最新状態に更新 $ sudo apt update # PostgreSQLと追加モジュールをインストール $ sudo apt install -y postgresql postgresql-contrib # インストール完了後、バージョンを確認 $ psql --version psql (PostgreSQL) 16.3 (Ubuntu 16.3-1.pgdg24.04+1)
ステップ2:PostgreSQLを起動してpsqlで接続する
インストール後、PostgreSQLのサービスを起動します。WSL2では sudo service コマンドでサービスの起動・停止を管理します。# PostgreSQLサービスを起動 $ sudo service postgresql start * Starting PostgreSQL 16 database server [ OK ] # 起動状態を確認 $ sudo service postgresql status * postgresql is running
# postgresユーザーとしてpsqlを起動 $ sudo -u postgres psql psql (16.3 (Ubuntu 16.3-1.pgdg24.04+1)) Type "help" for help. postgres=#
ステップ3:一般ユーザーとデータベースを作成する
実務では、管理者ユーザー(postgres)を直接使い続けることは鉄則に反します。用途ごとに専用のユーザーとデータベースを作成するのが安全な設計の基本です。psqlを起動したまま(「postgres=#」のプロンプト)、以下のSQL文を入力します。1文ごとにセミコロン(;)で終わることに注意してください。
-- 一般ユーザー「myuser」をパスワード付きで作成 postgres=# CREATE USER myuser WITH PASSWORD 'mypassword'; CREATE ROLE -- データベース「mydb」を作成してmyuserを所有者に設定 postgres=# CREATE DATABASE mydb OWNER myuser; CREATE DATABASE -- 作成したデータベースの一覧を確認 postgres=# \l List of databases Name | Owner | Encoding | Locale Provider | Collate | -----------+----------+----------+-----------------+-------------+ mydb | myuser | UTF8 | libc | ja_JP.UTF-8 | postgres | postgres | UTF8 | libc | ja_JP.UTF-8 | (4 rows) -- psqlを終了 postgres=# \q
ステップ4:作成したユーザーで接続して基本SQLを実行する
一般ユーザー(myuser)でmydbに接続し、テーブルを作成してデータを実際に操作してみましょう。# myuserとしてmydbに接続(localhost経由) $ psql -U myuser -d mydb -h localhost Password for user myuser: (「mypassword」と入力してEnter) psql (16.3 (Ubuntu 16.3-1.pgdg24.04+1)) Type "help" for help. mydb=>
-- テーブルの作成(SERIAL:自動採番、VARCHAR:文字型) mydb=> CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(200) ); CREATE TABLE -- データの挿入(INSERT) mydb=> INSERT INTO users (name, email) VALUES ('山田太郎', 'yamada@example.com'); INSERT 0 1 mydb=> INSERT INTO users (name, email) VALUES ('鈴木花子', 'suzuki@example.com'); INSERT 0 1 -- データの取得(SELECT) mydb=> SELECT * FROM users; id | name | email ----+----------+--------------------- 1 | 山田太郎 | yamada@example.com 2 | 鈴木花子 | suzuki@example.com (2 rows)
うまく動かないときのエラー対処法
WSL2でのPostgreSQL操作でよく遭遇するトラブルと解決方法をまとめます。エラー1:「connection to server on socket failed」と表示される
PostgreSQLのサービスが起動していない状態で接続しようとすると発生します。
# サービスが起動しているか確認 $ sudo service postgresql status # 停止中なら起動する $ sudo service postgresql start
エラー2:「password authentication failed for user」と表示される
パスワードが違うか、pg_hba.conf(認証設定ファイル)の設定でローカル接続がパスワード認証になっていない場合に発生します。接続コマンドに「-h localhost」を付けて実行することで解決できる場合があります。
エラー3:「command not found: psql」と表示される
インストールが正しく完了していない可能性があります。「sudo apt install postgresql」を再実行して確認してください。インストール中にエラーが出た場合は「sudo apt update」を先に実行して再試行します。
関連記事 ~ 次のステップへ進む
WSL2でPostgreSQLの基本が身についたら、次はより実践的なスキルへ進みましょう。Linux入門シリーズ
・WSL2でLinuxを始める手順|インストールから基本コマンドまで
・WSL2でsystemdを有効化する入門|NginxをWindowsで起動・停止するsystemctlハンズオン
・LinuxでMariaDBをインストールして使う入門|VPSやWSL2でデータベース操作を初心者向けに解説
実務で使うLinuxスキル 7テーマ
・tmuxコマンドでターミナルを分割・管理する方法(シェルスクリプト)
・ssh-keygenコマンドでSSH公開鍵認証を設定する方法(セキュリティ)
・Apacheのタイムアウト設定を変更・確認する方法(サーバー構築)
・straceコマンドでプロセスのシステムコールを追跡する方法(トラブルシューティング)
・ncコマンドでネットワーク接続をテストする方法(ネットワーク)
・rsyncコマンドでファイルを同期・転送する方法(ファイルシステム・ストレージ)
・Linuxでポート番号の状態を確認するコマンド(現場コラム)
まとめ
この記事では、WSL2のUbuntu環境にPostgreSQLをインストールし、基本的なSQL操作を実践する手順を解説しました。| やること | コマンド・手順 |
|---|---|
| PostgreSQLのインストール | sudo apt install postgresql postgresql-contrib |
| サービスの起動 | sudo service postgresql start |
| 管理者でDB接続 | sudo -u postgres psql |
| ユーザーの作成 | CREATE USER ユーザー名 WITH PASSWORD '...'; |
| データベースの作成 | CREATE DATABASE DB名 OWNER ユーザー名; |
| 一般ユーザーで接続 | psql -U ユーザー名 -d DB名 -h localhost |
| テーブルの作成 | CREATE TABLE テーブル名 (...); |
| データの挿入・取得 | INSERT INTO ... / SELECT * FROM ...; |
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら
- 前のページへ:WSL2でLinux環境をバックアップ・復元する入門|wsl --export・importで設定を丸ごと保存する方法
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。
登録無料・いつでも解除できます