Nếu tôi nhớ không nhầm thì người dùng postgres
không có DB đặt mật khẩu trên Ubuntu theo mặc định. Điều đó có nghĩa là bạn chỉ có thể đăng nhập vào tài khoản đó bằng cách sử dụng postgres
Người dùng hệ điều hành tài khoản.
Giả sử rằng bạn có root
truy cập vào hộp bạn có thể làm:
sudo -u postgres psql
Nếu không thành công với database "postgres" does not exists
lỗi, thì rất có thể bạn không ở trên máy chủ Ubuntu hoặc Debian :-) Trong trường hợp này, chỉ cần thêm template1
tới lệnh:
sudo -u postgres psql template1
Nếu bất kỳ lệnh nào trong số đó không thành công với lỗi psql: FATAL: password authentication failed for user "postgres"
sau đó kiểm tra tệp /etc/postgresql/8.4/main/pg_hba.conf
:Phải có một dòng như thế này là dòng đầu tiên không phải chú thích:
local all postgres ident
Đối với các phiên bản mới hơn của PostgreSQL ident
thực sự có thể là peer
. Điều đó cũng không sao.
Bên trong psql
shell mà bạn có thể cung cấp cho người dùng DB postgres
mật khẩu:
ALTER USER postgres PASSWORD 'newPassword';
Bạn có thể để lại psql
shell bằng cách gõ Ctrl D hoặc bằng lệnh \q
.
Bây giờ bạn sẽ có thể cung cấp cho pgAdmin một mật khẩu hợp lệ cho DB superuser và nó cũng sẽ rất vui. :-)