postgresqlをインストールした後は、デフォルトではユーザはpostgresしか存在せず、superuserであるので、別のユーザを作成してリモートではそのユーザで処理するのが安全なのかなと思う。
新しく作成したユーザのDBに対してのアクセス権限のつけ方をメモしておく
すでにあるテーブルに対して権限付け
例えば、"connect" というユーザを作成し、このユーザはDB内のテーブルにはselect,insert,updateしか許可しないとする(こうすれば、リモートからはconnectユーザでアクセスすれば、誤ってデータを消す可能性は減る)
権限付けは、superuserでDBに入って以下のコマンド
GRANT select,insert,update ON ALL TABLES IN SCHEMA public TO connect;
これで、すでに作成されているDB内テーブル全てにアクセス制限可能
これから作成するテーブルに対してデフォルトで権限付け
DB内でこれから作成するテーブルに対しても権限付けをすることが可能
上記と同様の権限付けをデフォルトとする場合は以下のコマンド
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT select,insert,update ON TABLES TO connect;
もちろん、テーブル名を変更すればテーブル個別でアクセス権限をつけることも可能だし、コマンドも変えられる。