postgresSQLをUbuntuに入れる方法に少してこずったので、備忘録として記載します。
あまり技術力は高くないので、お手柔らかに
分かりやすく、読みやすくを目指します!
前提条件
- 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=>:現在一般ユーザーとしてログインしています。このユーザーは限定的な権限しか持っておらず、主にデータの参照や更新を行います。
なお、これらのプロンプトはデフォルトの設定であり、設定により変更することも可能です。それぞれのプロンプトがどのような権限を示しているかは、現在のデータベースやユーザーの設定に依存します。
参考