Friday, October 16, 2026

create and grant privileges user PostgreSQL

วิธีที่ 1: ให้สิทธิ์ Superuser (จัดการได้ทั้งหมด เบ็ดเสร็จ)

sudo -u postgres psql

CREATE ROLE myuser WITH LOGIN SUPERUSER PASSWORD 'your_secure_password';


วิธีที่ 2: ให้สิทธิ์จัดการ Database แต่ไม่ใช่ Superuser (แนะนำด้านความปลอดภัย)

  • สร้าง User ที่มีสิทธิ์สร้าง Database (CREATEDB) และสร้าง Role อื่นได้ (CREATEROLE):

CREATE USER myuser WITH CREATEDB CREATEROLE PASSWORD 'your_secure_password';

  • หากต้องการให้ User นี้เข้าไปจัดการข้อมูลและ Table ภายใน Database ที่มีอยู่แล้ว ต้องให้สิทธิ์เพิ่มเติมในแต่ละ Database นั้นๆ:

-- สิทธิ์เชื่อมต่อ Database

GRANT CONNECT ON DATABASE target_db TO myuser;

-- เชื่อมต่อเข้าไปใน target_db แล้วรันสิทธิ์ใน schema

\c target_db

GRANT ALL ON SCHEMA public TO myuser;

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;

GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO myuser;

  • กรณีต้องการเปลี่ยนสิทธิ์ User เดิมที่มีอยู่แล้ว
  • หากมี User เดิมอยู่แล้วและต้องการอัปเกรดให้เป็น Superuser ทันที:

ALTER USER myuser WITH SUPERUSER;

Related:

  • https://juuier.blogspot.com/2026/10/shell-postgresql-dump-and-restore.html
  • https://juuier.blogspot.com/2026/10/postgresql-ubuntu-2204.html
  • https://juuier.blogspot.com/2026/10/postgresql-remote.html

Ref: 

  • Gemini 

Popular Posts