Open11

PostgreSQLに入門してみる。

やまげんやまげん

インストール

Homebrewでインストールした。
postgresql@15はkeg-onlyなのでパスも通す必要がある。
GUIツールであるpgAdmin 4も入れてみた。

brew install postgresql@15
brew install --cask pgadmin4

// env.zsh
export PATH=/opt/homebrew/opt/postgresql@15/bin:$PATH

// postgresql@15をインストールするとpsqlというコマンドが付いてくるらしい
psql --version // →psql (PostgreSQL) 15.1 (Homebrew)

https://formulae.brew.sh/formula/postgresql@15

やまげんやまげん

起動・停止コマンド

postgreSQLというよりかはHomebrewのコマンドだが、次のように起動・停止・再起動ができるらしい。

この辺りに書いてあって、あとはbrew services --helpなどで調べた。

brew services start postgresql
brew services stop postgresql
brew services restart postgresql
やまげんやまげん

SQLを勉強したのがかなり前なのと、実務では使った経験がないので、こちらの本で復習している。
割とすぐに読み終わりそう(2日で半分ほど読んだ)。

https://www.amazon.co.jp/SQL-第2版-ゼロからはじめるデータベース操作-プログラミング学習シリーズ-ミック/dp/4798144452

やまげんやまげん

5日で全て読み終わった。忘れていた部分も多かったのでいい復習になった。

やまげんやまげん

PostgreSQLでTRUNCATE <テーブル名>;で全行一括で削除できるのは知らなかった。
TRUNCATEは全削除しかできないらしいが、DELETEよりも早いらしい。

やまげんやまげん

達人に学ぶSQL徹底指南書はややレベルが高そうだったので、先に1つ教材を挟むことにした。

オープンソースデータベース標準教科書がPostgreSQLを体系的に学ぶために良さそうかつ、約100ページ程度なので2日もあれば読み終わりそう。

PostgreSQLの教材なんかいいのないかなと悩んでいたけど、同サイトに結構いいものがありそうで安心した。
https://oss-db.jp/learning#material

やまげんやまげん

上記の教科書を読了した(PHPを使ってWebアプリケーションを作る章は未読)。
思っていたよりもボリュームがあり、ページ数から予想していたよりも時間がかかった。

知らなかったこと

  • シーケンス(連番を生成する機能)
    • INSERT時にIDを連番にしたい場合などで使う
    • nextval('sequence_name')を使用したSQL文が失敗した場合でもカウントは進んでしまうため、飛び番が発生することがあるが、そういうものだと思って使うのが良いとのこと
  • ユーザーの作成
    • \duでロールを確認できる
    • CREATE USER sato PASSWORD 'sato';
  • VACUUM
    • 削除フラグが立っている行データを回収してくれる
  • レプリケーション
    • バックアップ手法の1つ
    • データベースやテーブル単位で複製を作成するもの