Postgresql के साथ एक नया रेल एप्लिकेशन सेट करते समय मैं इसी तरह के मुद्दों में भाग गया। मुझे निम्न त्रुटि संदेश नीचे मिले हैं
FATAL: role "promisepreston" does not exist
Couldn't create 'MyBlog_development' database. Please check your configuration.
rails aborted!
ActiveRecord::NoDatabaseError: FATAL: role
Caused by:
PG::ConnectionBad: FATAL: role "promisepreston" does not exist
इसे हल करने के लिए बस नीचे दिए गए समाधान का पालन करें
सबसे पहले, हमें कमांड लाइन इंटरफेस के माध्यम से पोस्टग्रेज यूजर अकाउंट में लॉग इन करना होगा;
sudo su - postgres
इसके बाद, पोस्टग्रेज भूमिका के रूप में, psql क्लाइंट का उपयोग करके डेटाबेस सर्वर से कनेक्ट करें:
psql -U postgres
psql 10.6, PostgreSQL इंटरएक्टिव टर्मिनल में आपका स्वागत है।
[email protected]:~$ psql -U postgres
psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help
postgres=#
इसके बाद, psql क्लाइंट से जुड़े हुए, हम अपनी वांछित भूमिका नाम . के साथ एक भूमिका बनाएंगे जिसमें LOGIN विशेषता और हमारा वांछित पासवर्ड . है , और जो डेटाबेस बना सकते हैं और भूमिकाओं का प्रबंधन कर सकते हैं (N/B: कृपया इसे न लिखें postgres=# , चूंकि यह एक प्लेसहोल्डर है):
postgres=# create role rolename with createdb login password 'password1';
SQL कथन के अंत में आवश्यक अनुगामी अर्धविराम (; ) नोट करें। सिंगल-कोट्स (' ' ) पासवर्ड का हिस्सा नहीं हैं, लेकिन इसे संलग्न करना चाहिए।
काम किया? आप \du कमांड का उपयोग करके जांच कर सकते हैं (N/B: कृपया इसे न लिखें postgres=# , चूंकि यह एक प्लेसहोल्डर है):
postgres=# \du
अब आप अपने रेल एप्लिकेशन के लिए डेटाबेस बनाने के लिए कमांड चला सकते हैं;
rails db:create
और फिर अपने रेल एप्लिकेशन के लिए डेटाबेस माइग्रेट करने के लिए कमांड भी चलाएँ;
rails db:migrate
बस इतना ही।
मुझे आशा है कि इससे मदद मिलेगी