Bài viết này sẽ mô tả cách sử dụng lệnh ALTER ROLE của PostgreSQL để thay đổi tên role.
Sử dụng lệnh ALTER ROLE để đổi tên role có định dạng như sau:
ALTER ROLE name RENAME TO new_name;
Đổi tên role đích name thành tên mới new_name. Tên của người dùng phiên hiện tại (current session user, tên role được sử dụng trong kết nối hiện tại) không thể thay đổi.
Superusers có thể đổi tên bất kỳ role nào. Một role với đặc quyền CREATEROLE có thể đổi tên bất kỳ vai trò nào, ngoại trừ superusers.
Nếu bạn đang sử dụng md5 làm phương thức client authentication, việc thay đổi tên role sẽ dẫn đến mật khẩu kết nối trở thành trống, vì vậy sau khi đổi role name bạn cần đặt mật khẩu mới.
Bây giờ chúng ta thử đổi tên role hihongo thành tên role mới là nihongo
ALTER ROLE hihongo RENAME TO nihongo;
Tên role hihongo đã được thay đổi. Ngoài ra, vì role này đã sử dụng md5 làm phương thức xác thực client nên mật khẩu đã bị clear thành trống như thông báo được hiển thị “ロール名が変更されたためMD5パスワードがクリアされました と表示されているようにパスワードが空となりました。”
Vì thế, chúng ta sẽ sử dụng lệnh ALTER ROLE để đặt lại mật khẩu cho kết nối.
ALTER ROLE nihongo WITH PASSWORD 'tiengnhat';
Xem thêm: Thay đổi thuộc tính role bằng lệnh PostgreSQL ALTER ROLE
Kiểm tra lại danh sách các role đã tạo để xác nhận đã đổi tên role thành công:
[…] Xem thêm: Thay đổi tên role bằng lệnh PostgreSQL ALTER ROLE […]