Tôi biết có rất nhiều câu hỏi nổi xung quanh có liên quan đến các vấn đề tương tự, nhưng tôi nghĩ rằng tôi có một hương vị cụ thể chưa được giải quyết. Tôi đang cố gắng tạo cơ sở dữ liệu postgresql cục bộ của mình để tôi có thể phát triển địa phương ngoài việc đẩy vào Heroku.Cấu hình cơ sở dữ liệu postgresql để phát triển cục bộ ở Django khi sử dụng Heroku
Tôi đã tìm thấy câu trả lời cơ bản về cách để làm điều này, ví dụ (mà tôi nghĩ là một chút wee lỗi thời):
'#DATABASES = {'default': dj_database_url.config(default='postgres://fooname:[email protected]/dbname')}'
Điều này giải quyết "ENGINE" không được cấu hình lỗi. Tuy nhiên, khi tôi chạy 'python manage.py syncdb' Tôi nhận được lỗi sau:
'OperationalError: FATAL: password authentication failed for user "foo"
FATAL: password authentication failed for user "foo"'
Điều này xảy ra cho tất cả các kết hợp tên người dùng/pass. Vì vậy, tên người dùng/mật khẩu ubuntu của tôi, tên người dùng/pass của tôi, v.v. Điều này cũng xảy ra nếu tôi chỉ cố gắng lấy ra thành phần Heroku và xây dựng nó cục bộ như thể tôi đang sử dụng postgresql trong khi làm theo hướng dẫn. Vì tôi chưa có cơ sở dữ liệu, các giá trị tên người dùng/giá trị chuyển tiếp đó là gì? Vấn đề chính xác là tôi cần phải tạo một cơ sở dữ liệu trước? Nếu thế thì sao?
Như một mặt lưu ý Tôi biết tôi có thể nhận được các db từ Heroku sử dụng quá trình này được nêu ở đây: Should I have my Postgres directory right next to my project folder? If so, how?
Nhưng giả sử tôi đã làm như vậy, nơi sẽ mới db sống, làm thế nào sẽ django biết làm thế nào để truy cập nó, và tôi sẽ có cùng một vấn đề người dùng/vượt qua?
Cảm ơn một nhóm.
Bạn có thể đăng toàn bộ 'settings.py' không? –
Như tôi đã nhớ, đối với các hệ điều hành nix, bạn phải có cho ban đầu ít nhất là người dùng có tên 'postgres' cho acess để postgres DB. Kinh nghiệm của tôi với PG bị giới hạn bởi Win, Ubunru và CentOS. Hãy thử thực thi trạng thái pg_ctl. Sau đó, xem liệu hệ điều hành của bạn có được chấp nhận các cuộc gọi thông qua giao thức TCP tới Postgres hay không; tiếp theo, kiểm tra cấu hình postgres pg_hba.conf cho các địa chỉ có thể chấp nhận được. Và cứ thế. Cách đơn giản nhất là hỏi Google: "PostgreSQL" [YourOSName] Và có, python không có bất kỳ quan hệ nào với PG như đối với các DBMS khác. – Abelisto