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)
起動・停止コマンド
postgreSQLというよりかはHomebrewのコマンドだが、次のように起動・停止・再起動ができるらしい。
この辺りに書いてあって、あとはbrew services --help
などで調べた。
brew services start postgresql
brew services stop postgresql
brew services restart postgresql
エラー
ここのスクラップと同じようなエラーが出たが、書いてくれてた通りに操作して解決。感謝。
SQLを勉強したのがかなり前なのと、実務では使った経験がないので、こちらの本で復習している。
割とすぐに読み終わりそう(2日で半分ほど読んだ)。
5日で全て読み終わった。忘れていた部分も多かったのでいい復習になった。
PostgreSQLでTRUNCATE <テーブル名>;
で全行一括で削除できるのは知らなかった。
TRUNCATE
は全削除しかできないらしいが、DELETE
よりも早いらしい。
達人に学ぶSQL徹底指南書も購入したので読み始めた。
こちらはレベルが高そうなので読み終わるまで2週間はかかるかも知れない。
PostgreSQLの公式ドキュメントの日本語訳。
こちらも本読みと並行して暇な時に読んでみたい。
達人に学ぶSQL徹底指南書はややレベルが高そうだったので、先に1つ教材を挟むことにした。
オープンソースデータベース標準教科書がPostgreSQLを体系的に学ぶために良さそうかつ、約100ページ程度なので2日もあれば読み終わりそう。
PostgreSQLの教材なんかいいのないかなと悩んでいたけど、同サイトに結構いいものがありそうで安心した。
上記の教科書を読了した(PHPを使ってWebアプリケーションを作る章は未読)。
思っていたよりもボリュームがあり、ページ数から予想していたよりも時間がかかった。
知らなかったこと
- シーケンス(連番を生成する機能)
-
INSERT
時にIDを連番にしたい場合などで使う -
nextval('sequence_name')
を使用したSQL文が失敗した場合でもカウントは進んでしまうため、飛び番が発生することがあるが、そういうものだと思って使うのが良いとのこと
-
- ユーザーの作成
-
\du
でロールを確認できる CREATE USER sato PASSWORD 'sato';
-
- VACUUM
- 削除フラグが立っている行データを回収してくれる
- レプリケーション
- バックアップ手法の1つ
- データベースやテーブル単位で複製を作成するもの
ちょうどSQLを勉強した方の記事を見かけた。
どういう本を読んだか書いてくれているので参考にしたい。