Tôi đang sử dụng ứng dụng PostgreSql cho mac ( http://postgresapp.com/ ). Tôi đã sử dụng nó trong quá khứ trên các máy khác nhưng nó gây cho tôi một số rắc rối khi cài đặt trên macbook của tôi. Tôi đã cài đặt ứng dụng và tôi đã chạy:
psql -h localhost
Nó trở lại:
psql: FATAL: database "<user>" does not exist
Có vẻ như tôi thậm chí không thể chạy giao diện điều khiển để tạo cơ sở dữ liệu mà nó đang cố gắng tìm. Điều tương tự xảy ra khi tôi chỉ chạy:
psql
hoặc nếu tôi khởi chạy psql từ menu thả xuống của ứng dụng:
Số liệu thống kê máy:
OSX 10.8.4
psql (PostgreSQL) 9.2.4
Bất kỳ trợ giúp được đánh giá cao.
Tôi cũng đã cố gắng cài đặt PostgreSql thông qua homebrew và tôi cũng gặp vấn đề tương tự. Tôi cũng đã đọc trang tài liệu ứng dụng có ghi:
Khi Postgres.app lần đầu tiên khởi động, nó sẽ tạo cơ sở dữ liệu $ USER, đây là cơ sở dữ liệu mặc định cho psql khi không được chỉ định. Người dùng mặc định là $ USER, không có mật khẩu.
Vì vậy, có vẻ như ứng dụng không tạo $ USER tuy nhiên tôi đã cài đặt-> gỡ cài đặt-cài đặt lại nhiều lần nên nó phải là thứ gì đó với máy của tôi.
Tôi đã tìm thấy câu trả lời nhưng tôi không chắc chính xác nó hoạt động như thế nào khi người dùng đã trả lời trên chuỗi này -> Bắt Postgresql Chạy trong Mac: Cơ sở dữ liệu "postgres" không tồn tại không theo dõi. Tôi đã sử dụng lệnh sau để mở psql:
psql -d template1
Tôi sẽ không trả lời câu hỏi này cho đến khi ai đó có thể đưa ra lời giải thích cho lý do tại sao điều này hoạt động.
createdb <user>
việc cho tôi.
psql -U user -d postgres
, điều này đảm bảo rằng, người dùng được kết nối với cơ sở dữ liệu postgres, đã có sẵn. Vì vậy, chúng ta cần phải vượt qua cơ sở dữ liệu trong khi đăng nhập.
psql -d postgres -U postgres -h localhost
thể hiện điều gì? Nếu không có cờ, nó mặc định cho người dùng CLI và tôi có thể nói nó mặc định là db quản trị "postgres" nhưng tôi không có mac để kiểm tra.