Giả sử bạn đang quản trị của máy, Ubuntu đã cấp cho bạn quyền sudo để chạy bất kỳ lệnh như bất kỳ người dùng.
Cũng giả sử bạn không hạn chế quyền trong pg_hba.conf
tệp (trong /etc/postgresql/9.1/main
thư mục), thì nó phải chứa dòng này làm quy tắc đầu tiên:
# Database administrative login by Unix domain socket
local all postgres peer
(Giới thiệu về vị trí tệp: 9.1
là phiên bản postgres chính và main
tên của "cụm" của bạn. Nó sẽ khác nếu sử dụng phiên bản postgres mới hơn hoặc tên không phải mặc định. Sử dụngpg_lsclusters
lệnh để lấy thông tin này cho phiên bản / hệ thống của bạn).
Dù sao, nếu pg_hba.conf
tệp không có dòng đó, hãy chỉnh sửa tệp, thêm nó và tải lại dịch vụ bằng sudo service postgresql reload
.
Sau đó, bạn sẽ có thể đăng nhập với psql
tư cách là superuser postgres bằng lệnh shell này:
sudo -u postgres psql
Khi bên trong psql, hãy phát hành lệnh SQL:
ALTER USER postgres PASSWORD 'newpassword';
Trong lệnh này, postgres
là tên của một siêu người dùng. Nếu người dùng bị quên mật khẩu ritesh
, lệnh sẽ là:
ALTER USER ritesh PASSWORD 'newpassword';
Người giới thiệu: PostgreSQL 9.1.13, Chương 19. Xác thực máy khách
Hãy nhớ rằng bạn cần nhập postgres bằng một chữ S duy nhất ở cuối