4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSLで構築したUbuntuにpostgresSQLをインストールする方法と初期設定

Last updated at Posted at 2023-05-22

postgresSQLをUbuntuに入れる方法に少してこずったので、備忘録として記載します。
あまり技術力は高くないので、お手柔らかに:persevere:
分かりやすく、読みやすくを目指します!

前提条件

  • WSL上にUbuntuをインストールしている
  • Windows11

それでは行きましょう!

rootパスワードを設定していない場合

設定していない場合、まずはrootパスワードを設定しておきましょう。
WSLのUbuntuを起動します。
rootユーザにスイッチ

sudo su

以下のコマンドでパスワードを設定

passwd

システムが新しいパスワードを二回求めます。二回とも同じパスワードを入力してください。
パスワードを設定したら、以下のコマンドを入力してrootユーザーから元のユーザーに戻ります。

exit

インストール

サーバーのローカルパッケージインデックスを最新に更新します。

sudo apt update

追加のユーティリティと機能をいくつか追加する-contribパッケージとともにPostgresパッケージをインストールします。

sudo apt install postgresql postgresql-contrib

これでインストールはできたはずです。

起動

postgresSQLを起動するには以下のコマンドを実行してください。

sudo service postgresql start

起動しているか確認するには、以下のコマンドを実行してください。

sudo service postgresql status

設定の前準備

まずはデフォルトで作成されているpostgresユーザでpostgresにログイン

sudo -u postgres psql

Ubuntuのユーザに権限を与えます。

CREATE ROLE ユーザ名 LOGIN CREATEDB;

ここで、CREATE ROLEは新たなロールを作成するコマンド、LOGINはそのロールがデータベースにログインできることを指定、CREATEDBはそのロールが新たなデータベースを作成できることを指定しています。

以下のコマンドでpostgresSQLを終了します。Ubuntuに戻ります。

/q

今度はUbuntuのユーザでpostgresSQLにログインします。

psql -d postgres

これでUbuntuのユーザでpostgresSQLのテーブル作成や操作ができます。

おまけ:ターミナルプロンプトの違い

psqlコマンドラインツールでは、プロンプトがpostgres=#かpostgres=>かで、現在のユーザーの権限を示しています。

  • postgres=#:現在スーパーユーザーまたは特権を持つユーザー(例えば、データベースの所有者)としてログインしています。このユーザーは、データベースの作成、削除、ユーザーの追加など、全ての操作を実行できます。
  • postgres=>:現在一般ユーザーとしてログインしています。このユーザーは限定的な権限しか持っておらず、主にデータの参照や更新を行います。

なお、これらのプロンプトはデフォルトの設定であり、設定により変更することも可能です。それぞれのプロンプトがどのような権限を示しているかは、現在のデータベースやユーザーの設定に依存します。

参考

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?