個人開発のなんちゃって利用なので
DBつよつよの人からしたら運用の方法とか権限周りとかいろいろつっこみどころありそうですがいったんメモ

強い人はコメントとかtwitterで優しくマサカリを投げてください

インストール

# インストールする
sudo apt update
sudo apt install postgresql postgresql-contrib

# postgresユーザで操作する
sudo -i -u postgres
# Postgresプロンプトにアクセス
psql

Postgresプロンプトのメモ

開発環境で実行した結果もメモ

DBのリスト表示

postgres= \l # リストの取得
                                    List of databases
      Name      |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
----------------+----------+----------+-------------+-------------+-----------------------
 car_quiz_maker | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | 
 omaemona       | postgres | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | 
 postgres       | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
                |          |          |             |             | postgres=CTc/postgres
 template1      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
                |          |          |             |             | postgres=CTc/postgres

DBの作成

日本語対応にするにはオプションをいくつかつけておいた方がいいっぽい

CREATE DATABASE hogehoge TEMPLATE template0 ENCODING 'UTF-8' LC_COLLATE 'ja_JP.UTF-8' LC_CTYPE 'ja_JP.UTF-8';

DBへの接続

postgres= \c omaemona
You are now connected to database "omaemona" as user "postgres".

DBのテーブル一覧の取得

omaemona= \dt
             List of relations
 Schema |     Name      | Type  |  Owner   
--------+---------------+-------+----------
 public | SequelizeMeta | table | omaemona
 public | article_tags  | table | omaemona
 public | articles      | table | omaemona
 public | comments      | table | omaemona
 public | notifications | table | omaemona
 public | tags          | table | omaemona
 public | tips          | table | omaemona
 public | users         | table | omaemona
(8 rows)

SQLでやり取り

omaemona= select * from users;
 id |    name    |                       icon_image_path                        |              address               |         created_at         |         updated_at         
----+------------+--------------------------------------------------------------+------------------------------------+----------------------------+----------------------------
  2 | aaa        |                                                              | MC9npx9jtph84eWfsEUJrjFsjXjuoa7gaW | 2021-02-23 16:08:57.8+09   | 2021-02-23 16:08:57.8+09
  3 | test3      |                                                              | MBJnAG6caVfQGhqumNkBd6v4YZNQAhYx8k | 2021-04-21 21:44:21.989+09 | 2021-04-21 21:44:21.989+09
  1 | らいうだよ | http://localhost:3333/articleImages/1615725101560default.png | MQDuSDAsGWgm6d5n6TyBaRfBLnC73neY11 | 2021-02-23 14:15:31.728+09 | 2021-05-20 23:00:37.866+09
(3 rows)

DBに接続しさえすればSQLが使えるからそこまでいければこっちのもん。

roleの作成とかももろもろやってるけど、SQLの範囲内なのでそっちは今回は割愛