Sử dụng bảng hệ thống pg_roles
Postgres luôn cài đặt một cơ sở dữ liệu được gọi là "postgres". postgres là cơ sở dữ liệu bạn kết nối khi bạn không kết nối với cơ sở dữ liệu. Trong đó có một bảng tên là pg_roles
.
Sử dụng lệnh này:
psql -U pgadmin -d postgres -c 'select * from pg_roles'
Trả về kết quả này:
rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil | rolconfig | oid
----------+----------+------------+---------------+-------------+--------------+-------------+----------------+--------------+-------------+---------------+-----------+-------
postgres | t | t | t | t | t | t | t | -1 | ******** | | | 10
pgadmin | t | t | t | t | t | t | t | -1 | ******** | | | 16384
(2 hàng)
Xem câu trả lời sau: Cách kiểm tra xem người dùng postgres tồn tại?
Kiểm tra nó bằng cách đăng nhập
Chỉ cần thử đăng nhập bằng tên người dùng / mật khẩu được cung cấp và bao quanh nó bằng thử / bắt và nếu bạn có thể đăng nhập thì nó hợp lệ, nếu không thì nó không hợp lệ.
Thay đổi người dùng
Bạn có thể gặp thông báo lỗi nếu bạn thay đổi người dùng không tồn tại: http://www.postgresql.org/docs/8.0/static/sql-alteruser.html
ALTER USER postgres WITH PASSWORD 'tmppassword';
Xóa và thêm lại người dùng
Bạn có thể gặp thông báo lỗi nếu cố xóa và thêm lại người dùng. Vì vậy, nếu nó không hợp lệ thì nó sẽ gây ra lỗi khi bạn cố gắng xóa một người dùng không phải là người dùng. http://www.postgresql.org/docs/8.0/static /sql-createuser.html