Tôi đang chạy cơ sở dữ liệu Heroku Postgres ( Cơ sở dữ liệu ) kết hợp với ứng dụng Django. Các tài liệu đề cập đến phần bổ sung có ở đây . Tôi nghĩ rằng đây sẽ là một câu hỏi đáng giá cho cộng đồng vì Heroku đã cảnh báo người dùng của mình ngày hôm nay rằng họ sẽ di chuyển mọi thứ khỏi tiện ích cơ sở dữ liệu dùng chung được sử dụng để mặc định.
Tôi gặp một số sự cố khi kết nối pgAdmin3 với Cơ sở dữ liệu.
Theo hướng dẫn trong liên kết ở trên, tôi lấy thông tin đăng nhập của Cơ sở dữ liệu bằng lệnh sau:
$ heroku pg:credentials HEROKU_POSTGRESQL_OLIVE
Tôi đang sử dụng bản cài đặt homgrew của Postgresql trên Mac OSX.
Trong khi đó, tôi có:
- bật SSL trong pg_postgresql.conf của tôi;
- đã thêm cài đặt:
listen_addresses = '*'
- và thêm
host all all 0.0.0.0/0 md5
- và khởi động lại máy chủ postgres của tôi.
Sau đó, tôi vào pgAdmin3 và chọn File > Add Server
.
Tôi nhập thông tin đăng nhập do Heroku cung cấp như sau (đầu tiên là tên thông tin Heroku, thứ hai là tên trường pgAdmin):
Trong tab "Thuộc tính":
- dbname thành Tên;
- lưu trữ vào máy chủ;
- cảng vào cảng;
- Tôi để trống trường pgAdmin cho "Cơ sở dữ liệu bảo trì";
- người dùng vào Tên người dùng;
- mật khẩu vào Mật khẩu;
Trong tab SSL:
- Trong trường cho SSL, tôi chọn "yêu cầu" (theo hướng dẫn của Heroku).
Tôi nhấn enter và pgAdmin nghĩ, sau đó đưa ra một lỗi như sau:
An error has occurred:
Error connecting to the server: FATAL: permission denied for database "postgres"
DETAIL: User does not have CONNECT privilege.
Không chắc chắn những gì để làm vào thời điểm này. Sẽ đánh giá cao bất kỳ con trỏ.
The maintenance DB field is used to specify the initial database that pgAdmin connects to, and that will be expected to have the pgAgent schema and adminpack objects installed (both optional). On PostgreSQL 8.1 and above, the maintenance DB is normally called ‘postgres’
- và đó là điều mà pgAdmin đã cố gắng kết nối. Cung cấp mật khẩu củapostgres
người dùng.