ローイングファンのプログラミング日記

ボート競技やプログラミングについて書きます

WSL2上のUbuntu20.04にPostgreSQL13をインストール

目次

WSL2の設定とUbuntu20.04 LTSのインストール

普段はmacOSもしくはVirtualBox Vagrant Ubuntu環境上でPostgreSQLを使っている

以前の記事

Ubuntu18.04にPostgreSQL10.5をインストール - ローイングファンのプログラミング日記


今回はWSL2環境に挑戦した

WSL2の設定は下記のガイドとおりで問題なく成功
docs.microsoft.com
Windows 10 用 Windows Subsystem for Linux のインストール ガイド
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10


UbuntuのインストールもMicrosoft Storeから問題なく成功

インストールしたUbuntuを立ち上げてユーザ名、パスワードを登録してapt upgradeまでしておく
パスワードはsudoコマンドを使うたびに必要になるので覚えておく

$ apt update
$ apt upgrade


PostgreSQLをインストール

次のページ通りにインストール

日本PostgreSQLユーザ会
ダウンロード > Linux (apt) > Apt
https://wiki.postgresql.org/wiki/Apt

# keyをインポート
$ sudo apt install curl ca-certificates gnupg
$ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# リストに追加(Ubuntu20.04の場合はfocal-pgdg)
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# アップデートしてリストに追加
$ sudo apt update

# PostgreSQLとpgadmin4をインストール
$ sudo apt install postgresql-13 pgadmin4


PostgreSQLの設定

まずインストールできたか確認

$ psql --version

> psql (PostgreSQL) 13.0 (Ubuntu 13.0-1.pgdg20.04+1)


サーバーを起動する
systemctlpg_ctlコマンドは使えなかった。別途設定が必要らしい
なのでserviceコマンドで起動

$ sudo service postgresql start
# Ubuntuユーザのpassワードを入力

> * Starting PostgreSQL 13 database server


ロールをつくっていく
まずpostgresユーザーでログインする

$ sudo -u postgres psql

> Type "help" for help.
> postgres=#


Ubuntuのユーザ名でログインできるようにする

postgres=# create role [Ubuntuのユーザ名] with login createdb;

> CREATE ROLE


postgresユーザーのパスワードを変更する  

postgres=# alter user postgres password 'postgres';

> ALTER ROLE


postgresユーザからログアウト

postgres=# \q


psqlコマンドをためす

$ psql -l

# データベースの一覧表が表示されたら成功


これでpostgresユーザにログインしなくてもpsqlコマンドが使える

操作が終わったらサーバーを停止

$ sudo service postgresql stop

> * Stopping PostgreSQL 13 database server


Visual Studio Codeの拡張

次のページ通りに設定するとWSL2のファイルが簡単に扱えるようになる

docs.microsoft.com
Windows Subsystem for LinuxVisual Studio Code の使用を開始する

https://docs.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-vscode