meta = { post: "2021/12/28" updated: "" };

ポスグレの設定

メモ程度. debian bullseye, pgdb v13を想定

リポジトリ

debian公式リポジトリのパッケージは枯れすぎている. プロジェクトのリポジトリを使う.

$ curl -L https://www.postgresql.org/media/keys/ACCC4CF8.asc | doas gpg --dearmor -o /usr/share/keyrings/postgr
esql.gpg

そしたら/etc/apt/sources.list.d/postgresql.listの内容を以下のようにする.

deb [signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt bullseye-pgdg main

以下を忘れないように実行.

$ sudo apt update

インストール

$ sudo apt install postgresql postgresql-common

設定

PGTuneを使う. 生成したものを設定ファイルの末尾に追加する.

権限とか

デフォルトではパスワードで接続できない.

- local all all peer
+ local all all md5

- local replication all peer
+ local replication all md5

いざ接続

する前にロールを作成する.

$ sudo -u postgres psql

デフォルト設定だとpostgresに関してはpeer認証なのでパスワードは聞かれない.

> CREATE ROLE hoge WITH LOGIN PASSWORD 'hogepass';

以上.

はじめてのDB

ADMINのあるロールで操作(さっきのpostgresで大丈夫)

> CREATE DATABASE hogedb WITH OWNER hoge;

hogeはhogedbの中では好き勝手ができる.