Xem git gist với hướng dẫn tại đây
Chạy cái này:
sudo -u postgres psql
HOẶC LÀ
psql -U postgres
trong thiết bị đầu cuối của bạn để vào bưu điện
NB: Nếu bạn đang sử dụng máy Mac và cả hai lệnh trên đều không thành công, hãy chuyển đến phần về máy Mac bên dưới
postgres=
Chạy
CREATE USER new_username;
Lưu ý: Thay thế new_username bằng người dùng bạn muốn tạo, trong trường hợp đó sẽ là tom.
postgres=
CREATE ROLE
Vì bạn muốn người dùng đó có thể tạo DB, bạn cần thay đổi vai trò thành superuser
postgres=
ALTER ROLE
Để xác nhận, mọi thứ đã thành công,
postgres=
List of roles
Role name | Attributes | Member of
new_username | Superuser, Create DB | {}
postgres | Superuser, Create role, Create DB, Replication | {}
root | Superuser, Create role, Create DB | {}
postgres=
Cập nhật / Sửa đổi (Đối với Mac):
Gần đây tôi đã gặp một lỗi tương tự trên máy Mac của mình:
psql: FATAL: role "postgres" does not exist
Điều này là do cài đặt của tôi được thiết lập với một siêu người dùng cơ sở dữ liệu có tên vai trò giống với tên đăng nhập (viết tắt) của bạn.
Nhưng một số tập lệnh linux giả định superuser có tên vai trò truyền thống là postgres
Tôi đã giải quyết điều này như thế nào?
Nếu bạn đã cài đặt với homebrew
run:
/usr/local/opt/postgres/bin/createuser -s postgres
Nếu bạn đang sử dụng một phiên bản cụ thể của postgres, hãy nói 10.5
rồi chạy:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s postgres
HOẶC LÀ:
/usr/local/Cellar/postgresql/10.5/bin/createuser -s new_username
HOẶC LÀ:
/usr/local/opt/postgresql@11/bin/createuser -s postgres
Nếu bạn đã cài đặt postgres.app
cho Mac chạy:
/Applications/Postgres.app/Contents/Versions/10.5/bin/createuser -s postgres
Tái bút: thay thế 10.5 bằng phiên bản PostgreSQL của bạn