রেলগুলি: FATAL - ব্যবহারকারীর জন্য পিয়ার প্রমাণীকরণ ব্যর্থ হয়েছে (পিজি :: ত্রুটি)


143

আমি উবুন্টু ১১.১০ এবং রুবিমিনে আমার উন্নয়ন চালাচ্ছি

এখানে ডাটাবেস.আইএমএল এর জন্য আমার বিকাশের সেটিংস রয়েছে: যা আমার জন্য রুবিমাইন তৈরি করেছে

development:
  adapter: postgresql
  encoding: unicode
  database: mydb_development
  pool: 5
  username: myuser
  password:

আমি যখন অ্যাপটি চালানোর চেষ্টা করি তখন নীচে এই ত্রুটিটি পাওয়া যায়, মনে হয় আমি এখনও কোনও 'প্রকল্প' ব্যবহারকারী তৈরি করি নি, তবে, কীভাবে আমি একটি ব্যবহারকারী তৈরি করতে পারি এবং পোস্টগ্রিজে এটি একটি ডেটাবেস মঞ্জুর করতে পারি? যদি এটি সমস্যা হয় তবে উবুন্টুতে এই কাজের জন্য ব্যবহার করার প্রস্তাবিত সরঞ্জাম কী? যদি এটি সমস্যা না হয় তবে দয়া করে পরামর্শ দিন।

Exiting
/home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `initialize': FATAL:  Peer authentication failed for user "project" (PG::Error)
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `new'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in `connect'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `initialize'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:303:in `new_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:313:in `checkout_new_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:237:in `block (2 levels) in checkout'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:232:in `loop'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:232:in `block in checkout'
    from /home/sam/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:229:in `checkout'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:95:in `connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in `retrieve_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in `retrieve_connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in `connection'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/model_schema.rb:308:in `clear_cache!'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activerecord-3.2.3/lib/active_record/railtie.rb:91:in `block (2 levels) in <class:Railtie>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:418:in `_run__757346023__prepare__404863399__callbacks'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `__run_callback'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in `_run_prepare_callbacks'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/actionpack-3.2.3/lib/action_dispatch/middleware/reloader.rb:74:in `prepare!'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/actionpack-3.2.3/lib/action_dispatch/middleware/reloader.rb:48:in `prepare!'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/application/finisher.rb:47:in `block in <module:Finisher>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `instance_exec'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:30:in `run'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `each'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/initializable.rb:54:in `run_initializers'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/application.rb:136:in `initialize!'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /home/sam/RubymineProjects/project/config/environment.rb:5:in `<top (required)>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `block in require'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
    from /home/sam/RubymineProjects/project/config.ru:4:in `block in <main>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
    from /home/sam/RubymineProjects/project/config.ru:1:in `new'
    from /home/sam/RubymineProjects/project/config.ru:1:in `<main>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/server.rb:200:in `app'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands/server.rb:46:in `app'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/rack-1.4.1/lib/rack/server.rb:252:in `start'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands/server.rb:70:in `start'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands.rb:55:in `block in <top (required)>'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands.rb:50:in `tap'
    from /home/sam/.rvm/gems/ruby-1.9.3-p0@project/gems/railties-3.2.3/lib/rails/commands.rb:50:in `<top (required)>'
    from /home/sam/RubymineProjects/project/script/rails:6:in `require'
    from /home/sam/RubymineProjects/project/script/rails:6:in `<top (required)>'
    from -e:1:in `load'
    from -e:1:in `<main>'

Process finished with exit code 1

উত্তর:


315

আপনি যদি নিজের সার্ভারে পোস্টরেএসএল ইনস্টল করেন তবে কেবল হোস্ট করুন: লোকালহোস্ট ডাটাবেস.আইএমএল-তে, আমি সাধারণত এটি যেখানে পুল বলে সেখানে প্রায় নিক্ষেপ করি: 5 অন্যথায় যদি এটি স্থানীয় হোস্ট না হয় তবে অবশ্যই অ্যাপটিকে এটির ডেটাবেস কোথায় পাওয়া যাবে তা বলি।

development:
  adapter: postgresql
  encoding: unicode
  database: kickrstack_development
  host: localhost
  pool: 5
  username: kickrstack
  password: secret

আপনার ব্যবহারকারীর শংসাপত্রগুলি সংযোগ স্থাপনের জন্য আপনার অ্যাপ্লিকেশনটির ব্যবহারকারীর কাছে ডেটাবেস তৈরি করে এবং মালিকানা নির্ধারণ করে সঠিকভাবে সেট করা আছে তা নিশ্চিত করুন। Postgresql 9 রান একটি নতুন ব্যবহারকারী তৈরি করতে:

sudo -u postgres psql

postgresql ব্যবহারকারীর পাসওয়ার্ড সেট করুন যদি আপনার না থাকে তবে এটি কেবল পাসওয়ার্ডের পাসওয়ার্ড।

postgres=# \password

একটি নতুন ব্যবহারকারী এবং পাসওয়ার্ড এবং ব্যবহারকারীর নতুন ডাটাবেস তৈরি করুন:

postgres=# create user "guy_on_stackoverflow" with password 'keepitonthedl';
postgres=# create database "dcaclab_development" owner "guy_on_stackoverflow"; 

আপনি ডাটাবেস, ব্যবহারকারী, পাসওয়ার্ড তৈরির বিষয়টি নিশ্চিত করার পরে এখন আপনার ডাটাবেস.আইএমএল ফাইল আপডেট করুন এবং এই সুযোগগুলি সেট করুন। হোস্টকে ভুলে যাবেন না: লোকালহোস্ট।


2
আপনার যদি এখনও লোকালহোস্টের মাধ্যমে লগইন করতে এবং সংযোগটি শেষ করতে সমস্যা হয় তবে টার্মিনালের মাধ্যমে পোস্টগ্রেস্কেলে ফিরে যান এবং আপনার সংযোগকারী ব্যবহারকারীর সুবিধাদি প্রতিষ্ঠার জন্য এই 8.2 টি কনভেনশন প্রয়োগ করুন, সিনট্যাক্সটি সমস্ত ডেটাবেসে [ডিবি নাম] [ইউএস নেম] এ গ্র্যান্ট করুন। এই সিনট্যাক্সটি পিএসএলএল 9+ তে ঠিক একইভাবে কাজ করে তবে ব্যবহারকারীর মালিকানাধীন ডেটাবেজে সমস্ত অনুমতি দেওয়ার আগে আপনি সম্ভবত অনুমতিগুলি টগল করতে পারেন: postgresql.org/docs/8.2/static/sql-grant.html
বেন্ট কার্ডান

38
host: localhostএবং pool: 5আমার কনফিগারেশন অনুপস্থিত ছিল। এগুলি যুক্ত করার পরে ত্রুটি অদৃশ্য হয়ে গেল।
অমিত প্যাটেল

21
আমার host: localhostজন্য অনুপস্থিত ছিল। আমি যোগ করার পরে, সবকিছু কাজ করে। এটি উবুন্টু 13.04
জেসি

7
চাপ দেওয়াও গুরুত্বপূর্ণ: সেমিকোলনগুলি ভুলে যাবেন না
মার্টেন

ব্যক্তিগতভাবে আমি মনে করি রেক ডিবি: সেটআপ দিয়ে সেটআপটি চালানো সক্ষম হওয়া জরুরী। অন্যথায় আপনার কাছে একটি নতুন স্থাপনার পরিবেশ তৈরি করার সমস্যা রয়েছে তবে এই বিবরণটি বিকাশের পরিবেশের জন্য কাজ করে।
অ্যাশলে রাইটারি

54

আপনার রেল অ্যাপ্লিকেশনটি উবুন্টু 13.10 এর বিকাশের পরিবেশে পোস্টগ্রাগের সাথে কাজ করার জন্য এটি সবচেয়ে বোকা উপায় ।

1) জেমফাইলে পোস্টগ্রিজ ওয়াইএএমএল এবং 'পিজি' রত্ন সহ রেলস অ্যাপ তৈরি করুন:

$ rails new my_application -d postgresql

2) এটিকে কিছু CRUD কার্যকারিতা দিন। আপনি যদি পোস্টগ্র্রেস কাজ করে কিনা তা যদি কেবল দেখতে পান তবে একটি স্ক্যাফোল্ড তৈরি করুন:

$ rails g scaffold cats name:string age:integer colour:string

3) এর হিসাবে বিকল্প একটি YAML যে একটি হোস্ট প্যারামিটার অন্তর্ভুক্ত নয় জেনারেট করে। আমি আমার এটি প্রয়োজন খুঁজে পেয়েছি। বিকাশ বিভাগটি সম্পাদনা করুন এবং নিম্নলিখিত প্যারামিটারগুলি তৈরি করুন:rails 4.0.1-d postgresql

encoding: UTF-8
host: localhost
database: my_application_development
username: thisismynewusername
password: thisismynewpassword 

উল্লেখ্য databaseপরামিতি একটি ডাটাবেস যা এখনও থেকে প্রস্থান না জন্য, এবং usernameএবং passwordএকটি ভূমিকা যে হয় বিদ্যমান নয় পরিচয়পত্র আছে। আমরা পরে এটি তৈরি করব!

এটি দেখতে config/database.ymlহবে (কপিপাস্টিংয়ে কোনও লজ্জা নেই: ডি):

development:
  adapter: postgresql
  pool: 5
  # these are our new parameters
  encoding: UTF-8
  database: my_application_development
  host: localhost
  username: thisismynewusername
  password: thisismynewpassword

test:
  # this won't work 
  adapter: postgresql
  encoding: unicode
  database: my_application_test
  pool: 5
  username: my_application
  password:

production:
  # this won't work 
  adapter: postgresql
  encoding: unicode
  database: my_application_production
  pool: 5
  username: my_application
  password:

4) পোস্ট ক্রেস শেলটি এই আদেশ দিয়ে শুরু করুন:

$ psql

4 এ) আপনার বর্তমান ব্যবহারকারীর (যেমন আপনার কম্পিউটার ব্যবহারকারীর মতো) কোনও সংশ্লিষ্ট প্রশাসনের পোস্টগ্রিসের ভূমিকা না থাকলে আপনি এই ত্রুটিটি পেতে পারেন।

psql: FATAL:  role "your_username" does not exist

এখন আমি কেবল একবার পোস্টগ্রাগই ইনস্টল করেছি, সুতরাং আমি এখানে ভুল হতে পারি, তবে আমার মনে হয় পোস্টগ্রাগেস স্বয়ংক্রিয়ভাবে আপনি যেমন পোস্টগ্রাগেস ইনস্টল করেছেন ব্যবহারকারী হিসাবে একই শংসাপত্রগুলির সাথে প্রশাসনের ভূমিকা তৈরি করে।

4 বি) সুতরাং এর অর্থ আপনার পিএসকিএল কমান্ডটি ব্যবহার করতে এবং শেলটি শুরু করতে পোস্টগ্রাগ ইনস্টল করা ব্যবহারকারীর কাছে পরিবর্তন করতে হবে:

$ sudo su postgres

এবং তারপর চালান

$ psql

5) আপনি জানেন যে আপনি পোস্টগ্রিস শেলটিতে রয়েছেন কারণ আপনার টার্মিনালটি এটির মতো দেখাবে:

$ psql
psql (9.1.10)
Type "help" for help.

postgres=# 

)) পোস্টগ্র্যাসকিএল সিনট্যাক্স ব্যবহার করে আসুন আমরা config/database.ymlএর বিকাশ বিভাগে নির্দিষ্ট করা ব্যবহারকারী তৈরি করি :

postgres=# CREATE ROLE thisismynewusername WITH LOGIN PASSWORD 'thisismynewpassword';

এখন, এখানে কিছু সূক্ষ্মতা রয়েছে সুতরাং আসুন তাদের উপর নজর দেওয়া যাক।

  • ভূমিকা এর ব্যবহারকারীর নাম, thisismynewusername , না এটি প্রায় কোনো ধরনের কোট আছে
  • শব্দ উল্লেখ করুন লগইন পর সঙ্গে । যদি আপনি না করেন তবে ভূমিকাটি তৈরি হবে, তবে এটি ডাটাবেসে লগ ইন করতে সক্ষম হবে না!
  • ভূমিকার পাসওয়ার্ড, এটিস্মিনিউপাসওয়ার্ড , একক উদ্ধৃতিতে থাকা দরকার। ডাবল উদ্ধৃতি নয়
  • শেষে একটি আধা কোলন যুক্ত করুন;)

আপনার এটি আপনার টার্মিনালে দেখতে হবে:

postgres=#
CREATE ROLE
postgres=#

এর অর্থ, "ভূমিকা তৈরি করা", তবে পোস্টগ্রাগেসের সতর্কতাগুলি গিট হাবের একই অপরিহার্য সম্মেলনগুলি গ্রহণ করেছে বলে মনে হচ্ছে।

।) এখন, পোস্টগ্রিস শেলটিতে এখনও আমাদের ওয়াইএএমএলে সেট করা নামটি সহ ডাটাবেস তৈরি করতে হবে। আমরা যে পদক্ষেপটি created ধাপে তৈরি করেছি তার মালিককে করুন:

postgres=# CREATE DATABASE my_application_development OWNER thisismynewusername;

আপনি সফল হয়েছেন কিনা তা জানতে পারবেন কারণ আপনি আউটপুট পাবেন:

CREATE DATABASE

8) পোস্টগ্রিজ শেলটি প্রস্থান করুন:

\q

9) এখন সত্য মুহূর্ত:

$ RAILS_ENV=development rake db:migrate

আপনি যদি এটি পান:

==  CreateCats: migrating =================================================
-- create_table(:cats)
   -> 0.0028s
==  CreateCats: migrated (0.0028s) ========================================

অভিনন্দন, পোস্টগ্রিজ আপনার অ্যাপের সাথে নিখুঁতভাবে কাজ করছে।

9 এ) আমার লোকাল মেশিনে, আমি অনুমতি ত্রুটি পেয়েছি। আমি এটি ঠিক মনে করতে পারি না, তবে এটি লাইন ধরে একটি ত্রুটি ছিল

Can't access the files. Change permissions to 666.

যদিও আমি স্থানীয়ভাবে কোনও প্রোডাকশন মেশিনে পুনরাবৃত্তভাবে রাইটিং প্রাইভেলজেস সেট করার বিষয়ে খুব সাবধানতার সাথে চিন্তা করার পরামর্শ দিই, আমি আমার পুরো অ্যাপটি এই জাতীয় লেখার সুযোগ পড়তে দিয়েছিলাম:

9 বি) একটি ডিরেক্টরি স্তরের উপরে উঠুন:

$ cd ..

9 গ) my_application ডিরেক্টরি এবং এর সমস্ত বিষয়বস্তুর অনুমতিগুলি 666 এ সেট করুন:

$ chmod -R 0666 my_application

9 ডি) এবং আবার মাইগ্রেশন চালান:

$ RAILS_ENV=development rake db:migrate

==  CreateCats: migrating =================================================
-- create_table(:cats)
   -> 0.0028s
==  CreateCats: migrated (0.0028s) ========================================

কিছু উপায়ে টিপস এবং কৌশল যদি আপনি গোড়ালি করা হয়

এই সমস্ত পদক্ষেপ পুনরায় আরম্ভ করার আগে এগুলি ব্যবহার করে দেখুন:

Mynewusername ব্যবহারকারীর my_app_developmentডাটাবেসে CRUD এর সুবিধা নেই ? ডাটাবেসটি ফেলে দিন এবং আবার নতুন মালিক হিসাবে মালিক হিসাবে এটি তৈরি করুন:

1) পোস্টগ্রিজ শেল শুরু করুন:

$ psql

2) my_app_developmentডাটাবেস ড্রপ । সতর্ক হোন! ড্রপ মানে পুরোপুরি মুছুন!

postgres=# DROP DATABASE my_app_development;

৩) আরেকজনকে my_app_developmentপুনরুদ্ধার করুন এবং আমার নতুন ব্যবহারকারীকে মালিকের নাম দিন:

postgres=# CREATE DATABASE my_application_development OWNER mynewusername;

4) খোল ছেড়ে দিন:

postgres=# \q

mynewusernameব্যবহারকারী ডাটাবেসের লগ ইন করতে পারছি না? ভাবুন আপনি YAML এ ভুল পাসওয়ার্ড লিখেছেন এবং পোস্টগ্রিজ শেলটি ব্যবহার করে আপনি যে পাসওয়ার্ডটি লিখেছেন তা কি যথেষ্ট মনে করতে পারে না? ওয়াইএএমএল পাসওয়ার্ড দিয়ে কেবল ভূমিকাটি পরিবর্তন করুন:

1) আপনার YAML খুলুন এবং আপনার ক্লিপবোর্ডে পাসওয়ার্ডটি অনুলিপি করুন:

 development:
      adapter: postgresql
      pool: 5
      # these are our new parameters
      encoding: UTF-8
      database: my_application_development
      host: localhost
      username: thisismynewusername
      password: musthavebeenverydrunkwheniwrotethis

2) পোস্টগ্রিজ শেল শুরু করুন:

$ psql    

3) আপডেট mynewusernameএর পাসওয়ার্ড। পাসওয়ার্ডে আটকান এবং তার চারপাশে একক উদ্ধৃতি রাখার কথা মনে রাখবেন:

postgres=# ALTER ROLE mynewusername PASSWORD `musthavebeenverydrunkwheniwrotethis`;

4) খোল ছেড়ে দিন:

postgres=# \q

ডিবিভারের মতো ডেটাবেস দর্শকের মাধ্যমে লোকালহোস্টের সাথে সংযোগ স্থাপনের চেষ্টা করছেন এবং আপনার পোস্টগ্রিজ ব্যবহারকারীর পাসওয়ার্ড কী তা জানেন না? এটিকে এভাবে পরিবর্তন করুন:

1) passwdএকটি সুপারভাইজার হিসাবে চালান :

$ sudo passwd postgres

2) আপনার অ্যাকাউন্টগুলির পাসওয়ার্ড প্রবেশ করান sudo(পোস্টগ্রাসগুলির সাথে কিছুই করার নয়):

[sudo] password for starkers: myaccountpassword

3) পোস্টগ্রিজ অ্যাকাউন্টের নতুন পাসওড তৈরি করুন:

Enter new UNIX password: databasesarefun
Retype new UNIX password: databasesarefun
passwd: password updated successfully

এই ত্রুটি বার্তা পাচ্ছেন ?:

Run `$ bin/rake db:create db:migrate` to create your database
$ rake db:create db:migrate
PG::InsufficientPrivilege: ERROR:  permission denied to create database

৪) আপনার ব্যবহারকারীকে ডেটাবেস তৈরির ক্ষমতা দিতে হবে। পিএসকিএল শেল থেকে:

ALTER ROLE thisismynewusername WITH CREATEDB

1
আমি আশা করি আমি এই উজ্জ্বল সমাধানের জন্য আপনাকে আরও +1 দিতে পারতাম, যদি এটি আমার পক্ষে কাজ করে তবে আমি আরও সুখী হতে পারি। এখনও উজ্জ্বল উত্তর। তাত্ক্ষণিক প্রশ্ন, পাসওয়ার্ডের চারপাশের সেই ব্যাকটিকগুলি কি ভূমিকা পাল্টে দেবে? এছাড়াও, আপনার আগে ব্যাকটিক্স ব্যবহার করার দরকার নেই?
মাইক এইচআর

@ মাইকএইচ-আর ধন্যবাদ, লজ্জা এটি আপনার পক্ষে কাজ করে না! আপনি কি নিশ্চিত আপনার প্রাসঙ্গিক YAML রয়েছে host: localhost? এটাই ছিল আমার জন্য আসল গোটাচা। পাসওয়ার্ডের চারপাশে আপনার একক উদ্ধৃতি দরকার। আমার কীবোর্ডে যে shift+ @। পিএসকিএল শেলটির সাথে আপনার কয়েকটি পরামিতিগুলির জন্য কেবল একক উদ্ধৃতি প্রয়োজন। আপনার পাসওয়ার্ডের চারপাশে এগুলি প্রয়োজন , উদাহরণস্বরূপ ভূমিকার নামের আশেপাশে নয় । এটা তোলে সৎ হতে খুব fiddly, কিন্তু ঠিক আছে একবার আপনি এটা তারতম্য জানি :)
Starkers

@ মাইকএইচ-আর আমি বিষয়গুলিকে আরও পরিষ্কার করার জন্য আমার উত্তরটি সামঞ্জস্য করেছি। এটিতে আরও একটি ক্র্যাক থাকার কথা বিবেচনা করুন!
শুরু করুন

এটি এখনই সাজানো হয়েছে, একটি উজ্জ্বল উত্তরের জন্য আবারও ধন্যবাদ, আমি বেশিরভাগ উত্তরগুলির মুখোমুখি হলাম সুরক্ষা হ্রাস সম্পর্কে যা উত্পাদন ক্ষেত্রে ভাল নয়।
মাইক এইচআর

29

স্থায়ী সমাধানের জন্য:

সমস্যাটি আপনার পিজি_এইচবিএর সাথে। এই লাইন:

local   all             postgres                                peer

হতে হবে

local   all             postgres                                md5

তারপরে এই ফাইলটি পরিবর্তন করার পরে আপনার পোস্টগ্রেকসেল সার্ভার পুনরায় চালু করুন।

আপনি যদি লিনাক্সে থাকেন তবে কমান্ডটি হবে

sudo service postgresql restart

1
ধন্যবাদ! এটিই আসল উত্তর।
skplunkerin

9

আমি উবুন্টু মেশিনে একই সমস্যার মুখোমুখি হয়েছি তাই আমি কিছু পদক্ষেপ অনুসরণ করে এই ত্রুটিটি সরিয়েছি। পোস্টগ্রিজ ব্যবহারকারীতে স্যুইচ করুন

$ sudo su - postgres

এটি পাসওয়ার্ড জানতে চাইবে এবং ডিফল্ট পাসওয়ার্ড হয় postgres

ব্যবহারকারীর পোস্টগ্রিসে স্যুইচ করার পরে, পিএসকিএল কনসোলটি খুলুন

$ psql

সুতরাং একাধিক সংস্করণ উপলব্ধ থাকলে postgres এর সংস্করণ পরীক্ষা করুন

psql=# select VERSION();

PostgreSQL 9.1.13 on x86_64-unk....         # so version is 9.1

এখন উন্মুক্ত postgres user

vim /etc/postgresql/9.1/main/pg_hba.conf

9.1 হ'ল ভার্সন রিটার্ন ফর্ম আপার কমান্ড

এবং প্রতিস্থাপন

local   all             postgres                                peer

প্রতি

local   all             postgres                                md5

পরিষেবাটি পুনরায় চালু করুন

sudo service postgresql restart

আমি আমার ব্লগে পদক্ষেপও লিখি

http://tarungarg402.blogspot.in/2014/10/set-up-postgresql-on-ubuntu.html


আপনি সঠিক উত্তর দিয়েছেন, কেবল একটি জিনিস মিস করেছেন যা আপনার সংস্করণটি পরীক্ষা করার দরকার নেই। আপনি এই কমান্ডটি পিএসএইচএল চালিয়ে পাসওয়ার্ড পরিবর্তন করতে পারেন ব্যবহারকারী "ব্যবহারকারী নাম" পাসওয়ার্ড 'xyz' পরিবর্তন করে;
বিশু

মনে রাখবেন যে md5প্রমাণীকরণের জন্য আপনার ডাটাবেস ব্যবহারকারীর জন্য একটি নন-নাল পাসওয়ার্ড প্রয়োজন (এএ রেলস অ্যাপ্লিকেশন তৈরি করার সময় অলসতা সর্বাধিক করার চেষ্টা করার সময় আজ কিছুটা আগে গিয়েছিল)।
মার্ক লেইটন ফিশার

5

আপনি আপনার /var/lib/pgsql/data/pg_hba.conf ফাইলে যেতে পারেন এবং পরিচয়ের জায়গায় বিশ্বাস যুক্ত করতে পারেন এটি আমার পক্ষে কাজ করে।

local   all all trust
host    all 127.0.0.1/32    trust

আরও বিশদের জন্য এই সমস্যাটি পড়ুন ব্যবহারকারীর জন্য পরিচয় প্রমাণীকরণ ব্যর্থ


সেন্টোস 6.6, চেষ্টা করুন:/var/lib/pgsql/9.2/data/pg_hba.conf
প্যাট্রিক

4

যোগ host: localhostকরা আমার জন্য যাদু ছিল

development:
  adapter: postgresql
  database: database_name_here
  host: localhost
  username: user_name_here

0

Peer authentication failed for user (PG::Error)ইউনিট পরীক্ষা চলাকালীন আপনি যদি ত্রুটি বার্তাটি ( ) পান তবে পরীক্ষা করে ডাটাবেস উপস্থিত রয়েছে তা নিশ্চিত করুন।


0

আমার বিকাশের পরিবেশে কাজ করার সময় আমিও এই একই সমস্যার মুখোমুখি হয়েছিলাম, সমস্যাটি ছিল আমি ফাইলটিতে host: localhostমন্তব্য করেছিলাম config/database.yml

সুতরাং আমার অ্যাপ্লিকেশন পোস্টগ্র্রেএসকিউএল ডাটাবেসের সাথে সংযোগ স্থাপন করতে পারেনি, কেবল সমস্যাটিকে এহেন সমস্যা সমাধান করে।

development:
  <<: *default
  database: database_name

  username: database_username 

  password: database_password

  host: localhost

এখানেই শেষ.

আশা করি এটা কাজে লাগবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.