পিএসকিএল: ফ্যাটাল: ডাটাবেস "<ব্যবহারকারীর" উপস্থিত নেই


721

আমি ম্যাকের জন্য PostgreSQL অ্যাপ্লিকেশন ব্যবহার করছি ( http://postgresapp.com/ )। আমি আগে অন্য মেশিনে এটি ব্যবহার করেছি তবে আমার ম্যাকবুকে ইনস্টল করার সময় এটি আমাকে কিছুটা সমস্যা দিচ্ছে। আমি অ্যাপ্লিকেশনটি ইনস্টল করেছি এবং আমি দৌড়েছি:

psql -h localhost

এটি ফিরে আসে:

psql: FATAL:  database "<user>" does not exist

দেখে মনে হচ্ছে যে এটি যে ডেটাবেসটি সন্ধান করার চেষ্টা করছে তা তৈরি করতে আমি কনসোলটি চালাতেও পারি না। আমি কেবল দৌড়ালে একই জিনিস ঘটে:

psql 

বা যদি আমি অ্যাপ্লিকেশন ড্রপ ডাউন মেনু থেকে পিএসকিএল চালু করি:

যন্ত্রের পরিসংখ্যান:

  • ওএসএক্স 10.8.4

  • পিএসকিএল (পোস্টগ্রিএসকিউএল) 9.2.4

কোন সাহায্য প্রশংসা করা হয়।

আমি হোমগ্রাবের মাধ্যমে পোস্টগ্রেএসকিএল ইনস্টল করার চেষ্টা করেছি এবং আমিও একই সমস্যা পাচ্ছি। আমি অ্যাপ্লিকেশন ডকুমেন্টেশন পৃষ্ঠাও পড়েছি যাতে বলা হয়েছে:

Postgres.app যখন প্রথম শুরু হয়, এটি একটি $ USER ডাটাবেস তৈরি করে, যা যখন কোনও কিছুই নির্দিষ্ট না করা হয় তখন পিএসকিএল-এর জন্য ডিফল্ট ডাটাবেস। ডিফল্ট ব্যবহারকারী হলেন $ USER, কোনও পাসওয়ার্ড ছাড়াই।

সুতরাং দেখে মনে হচ্ছে অ্যাপ্লিকেশনটি তৈরি করছে না $ ব্যবহারকারী তবে আমি এখন বেশ কয়েকবার ইনস্টল করেছি-> আনইনস্টল-পুনরায় ইনস্টল করেছি তাই এটি অবশ্যই আমার মেশিনের সাথে কিছু হতে পারে।

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

psql -d template1

কেউ কেন এটি কাজ করে তার জন্য কোনও ব্যাখ্যা সরবরাহ না করা পর্যন্ত আমি এটিকে উত্তরহীন রেখে দেব।


3
কি psql -d postgres -U postgres -h localhostদেখায়? পতাকা ছাড়াই এটি সিএলআই ব্যবহারকারীর কাছে ডিফল্ট, এবং আমি এটি "পোস্টগ্রিস" অ্যাডমিন ডিবির কাছে ডিফল্ট বলেছি তবে এটি পরীক্ষা করার জন্য আমার কাছে ম্যাক নেই।
বিএমএ

@bma যে দেয় আমাকে psql: মারাত্মক: ভূমিকা "postgres" এর অস্তিত্ব নেই, যা মূলত আমাকে এখানে আনা -> stackoverflow.com/questions/15301826/... । আমি উত্তরটি ব্যবহার করার চেষ্টা করেছি কিন্তু আমি একই ফলাফল পেয়ে যাচ্ছি -> পিএসকিএল: ফ্যাটাল: ডাটাবেস "ব্যবহারকারী" উপস্থিত নেই
রায়ান রিচ

আপনি ডিবি লগ দেখেছেন? আমি আরও বিস্মিত হবে সেখানে ভাবছি।
বিএম

12
আমারও একই সমস্যা ছিল। শুধু createdb <user>আমার জন্য কাজ করে।
poshaughnessy

কমান্ডটি চালান psql -U user -d postgres, এটি নিশ্চিত করে যে ব্যবহারকারী পোস্টগ্রিস ডাটাবেসের সাথে সংযুক্ত রয়েছে, যা ইতিমধ্যে উপস্থিত রয়েছে। সুতরাং আমাদের লগইন করার সময় ডাটাবেস পাস করতে হবে।
অনিল

উত্তর:


1172

আপনার প্যাকেজ ম্যানেজারটি আপনার জন্য $ ব্যবহারকারীর নামের ডাটাবেস তৈরি করতে ব্যর্থ হয়েছে বলে মনে হয়। যে কারণ

psql -d template1

আপনার জন্য কাজ করে যে টেমপ্লেট 1 হ'ল একটি ডেটাবেস যা পোস্টগ্রিজ নিজেই তৈরি করে এবং সমস্ত স্থাপনায় উপস্থিত থাকে। আপনি স্পষ্টত টেমপ্লেট 1 এ লগ ইন করতে সক্ষম হবেন, সুতরাং আপনার অবশ্যই ডেটাবেস দ্বারা আপনাকে কিছু অধিকার অর্পণ করতে হবে। শেল প্রম্পটে এটি ব্যবহার করে দেখুন:

createdb

এবং তারপরে আপনি আবার লগ ইন করতে পারেন কিনা তা দেখুন

psql -h localhost

এটি কেবল আপনার লগইন ব্যবহারকারীর জন্য একটি ডাটাবেস তৈরি করবে, যা আমি মনে করি আপনি যা খুঁজছেন তা। যদি createb ব্যর্থ হয়, তবে আপনার নিজের ডেটাবেস তৈরির পর্যাপ্ত অধিকার নেই এবং হোমব্রিউ প্যাকেজ কীভাবে ঠিক করবেন তা আপনাকে খুঁজে বের করতে হবে।


38
আমার ক্ষেত্রে আমি $ createdb -h localhostত্রুটিটি সমাধান করার জন্য লিখেছি could not connect to database postgres: could not connect to server। এর পরে আমি পোস্টগ্র্যাস্কল কনসোলের মাধ্যমে সংযোগ করতে পারি psql -h localhost
এক্সিআর

আমি এখনও একটি পাসওয়ার্ড প্রম্পট করব এবং কোনটি এটির কোনও ধারণা নেই, কোনটি ডিফল্ট পোস্টগ্রিজ অ্যাপ্লিকেশন পাসওয়ার্ড?
LasagnaAndroid

2
ধন্যবাদ কিরক। আমাদের কি -d template1আপনার প্রথম কমান্ডের দরকার? আমি পুরো ইন্টারনেটে টিউটোরিয়ালগুলিতে "টেমপ্লেট 1" দেখেছি তবে এটি আমাকে বিভ্রান্ত করার জন্যই কাজ করে। আরও একটি যৌক্তিক পদ্ধতিটি হবে, আমার মতে 1) পোস্টগ্রিসকিউএল ব্যবহারকারী যেমন "ইউজার" তৈরি করুন 2) ব্যবহারকারী "ইউজার" হিসাবে একই নামের সাথে একটি ডাটাবেস তৈরি করুন (আমি মনে করি এটি পাগল তবে এটি পোস্টগ্রিসকিউএলএর প্রয়োজন বলে মনে হয়) 3) সুপারগ্রাহক হিসাবে "পোস্টগ্রিস" হিসাবে পোস্টগ্রাইএসকিউএল এ লগইন করুন এবং "ইউজার" ব্যবহারকারীর কাছে ডাটাবেস "ইউজার" ব্যবহারের সুযোগসুবিধা অর্পণ করুন (ওরে খোদা, আসলেই কি এটিই আসল জীবন?)
এরিকান

@ এরিক: -ডি টেমপ্লেট 1 কেবলমাত্র ওপিতে লগ ইন করতে পারে তা পরীক্ষা করার জন্য রয়েছে। যেহেতু এটি ডিডিডিবি সময়ে তৈরি করা হয়েছে, এটি সর্বদা বিদ্যমান এবং এটি একটি সহজ চেক ছিল। সেই দিক থেকে আপনার পদ্ধতিটি সাধারণত "বাস্তব জীবন"।
কर्क রায়বাল

@ এক্সিআর আপনি কেবলমাত্র একটি সাধারণ কমান্ড দিয়ে আমার প্রচণ্ড মাথাব্যথা নিরাময় করেছেন। ধন্যবাদ!
ডেভ মুঙ্গার 20

193

টার্মিনাল থেকে আপনার কমান্ড প্রম্পট উইন্ডোতে কেবল কমান্ডটি চালান। (পিএসকিএল এর ভিতরে নয়)

createdb <user>

এবং তারপরে আবার পোস্টগ্রিজ চালানোর চেষ্টা করুন।


3
সুন্দর! এটা এটা করেছে! এটি চালানোর পরে, সমস্ত পিএসএইচএল কমান্ডগুলি মোহন মতো কাজ করে! অসংখ্য ধন্যবাদ!
তাত্পর্যবাদ

1
এবং আমি পিএসএকিএল টেম্পলেট চেষ্টা করছিলাম। অভিশাপ
ব্যবহারকারী 1735921

2
এছাড়াও আপনি কেবল চালাতে পারেনcreatedb
মান্টিসিমো

আমার মতো ব্যবহারকারীদের জন্য টিপ;) (পিএসএকএল এর অভ্যন্তরে নয়)। এর অর্থ আপনি যখন টার্মিনাল উইন্ডোটি খোলেন কেবল এই ক্রিয়েডটিকে প্রথম কমান্ড হিসাবে প্রবেশ করুন এবং তারপরে পিএসএইচএল-এ লগইন করার চেষ্টা করুন।
রোহান দোদেজা

গ্রেট! ওএসএক্সে আমার জন্য কাজ করেছেন।
অন্ধকারহো

150

ডিফল্টরূপে, পোস্টগ্রিজ আপনার ব্যবহারকারীর মতো একই নামের সাথে একটি ডাটাবেসে সংযোগ করার চেষ্টা করে। এই ডিফল্ট আচরণ রোধ করতে, কেবল ব্যবহারকারী এবং ডাটাবেস নির্দিষ্ট করুন:

psql -U Username DatabaseName 

14
ধন্যবাদ, আপনি কি এই জাতীয় নকশার কারণ জানেন - কেন আমি বিশ্বে আমার নামটি ডেটাবেসটি ডিফল্টরূপে যেতে চাই?
এরিকন

3
@ এরিক ডেটাবেসগুলি প্রায়শই নিবেদিত ব্যবহারকারী হিসাবে চলমান পরিষেবাগুলি দ্বারা ব্যবহৃত হয়। সুতরাং আমি অনুমান করি যে ব্যবহারকারীর নামটি ডিফল্ট ডাটাবেস নাম হিসাবে ব্যবহার করার কৌশলটি সম্ভবত কিছু স্থির ডিফল্ট ডাটাবেস নাম (যেমন "postgres") ব্যবহার করার চেয়ে বেশি কার্যকর।
ব্যবহারকারী 686249

5
আপনি কীভাবে এসকিউএল স্ক্রিপ্টটি চালাবেন যা আসলে ডেটাবেস তৈরি করে? আমার ক্ষেত্রে এটি সর্বদা ডাটাবেসে <ব্যবহারকারীর সাথে সংযোগ স্থাপনের চেষ্টা করে যখন আমার লক্ষ্য অন্য একটি ডিবি তৈরি করা হয়: psql -U Username -f create_db.sqlএটি ত্রুটিটি ফিরিয়ে দেবে:database Username doesn't exists
কোস্টানোস

চমত্কার উত্তর ধন্যবাদ, কিন্তু কেন জিজ্ঞাসা করে কেন এটি কমান্ড লাইনে সহায়তা করছে না? পিএসকিএল - সহায়তা
শন

1
psql -U Username postgresযখন আপনার এখনও কোনও ডাটাবেস নেই
আনাতোলি স্টেপানিয়ুক

59
  1. ডিফল্ট ব্যবহারকারী হিসাবে লগইন করুন: sudo -i -u postgres
  2. নতুন ব্যবহারকারী তৈরি করুন: createuser --interactive
  3. ভূমিকার নাম জিজ্ঞাসা করা হলে, লিনাক্স ব্যবহারকারীর নাম লিখুন এবং সুপারিশকারী প্রশ্নের হ্যাঁ নির্বাচন করুন।
  4. এখনও পোস্টগ্রিজ ব্যবহারকারী হিসাবে লগ ইন, একটি ডাটাবেস তৈরি করুন: createdb <username_from_step_3>
  5. psqlকমান্ড প্রম্পটে : নিশ্চিত হয়ে ত্রুটি (গুলি) চলে গেছে ।
  6. আউটপুট প্রদর্শন করা উচিত psql (x.x.x) Type "help" for help.

মানুষ তুমি আমাকে অনেক সময় বাঁচিয়েছ
জেপি রেড্ডি

আমার উইন্ডোতে এটি করা দরকার ছিল। নতুন pg ব্যবহারকারীর নামটি লিনাক্স আননে সেট করুন। সংশোধন করা হয়েছে।
রিচিরিচ

এটি আমার জন্য মনোমুগ্ধকর মতো কাজ করেছিল
প্রতিশ্রুতি প্রেস্টন

41

ডিফল্ট টেম্পলেট 1 ডাটাবেস ব্যবহার করে লগইন করুন:

#psql -d template1
#template1=# \l

  List of databases
   Name    |  Owner  | Encoding |   Collate   |    Ctype    |  Access privileges  
-----------+---------+----------+-------------+-------------+---------------------
 postgres  | gogasca | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | gogasca | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/gogasca         +
           |         |          |             |             | gogasca=CTc/gogasca
 template1 | gogasca | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/gogasca         +
           |         |          |             |             | gogasca=CTc/gogasca
(3 rows)

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

template1=# CREATE DATABASE gogasca WITH OWNER gogasca ENCODING 'UTF8';
CREATE DATABASE

প্রস্থান করুন এবং তারপরে আবার লগইন করুন

template1=# \q
gonzo:~ gogasca$ psql -h localhost
psql (9.4.0)
Type "help" for help.

gogasca=# \l
                                List of databases
   Name    |  Owner  | Encoding |   Collate   |    Ctype    |  Access privileges  
-----------+---------+----------+-------------+-------------+---------------------
 gogasca   | gogasca | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | gogasca | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | gogasca | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/gogasca         +
           |         |          |             |             | gogasca=CTc/gogasca
 template1 | gogasca | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/gogasca         +
           |         |          |             |             | gogasca=CTc/gogasca
(4 rows)

20

আমি ম্যাকের উপর পোস্টগ্র্যাসকিএল খোলার চেষ্টা করার সময় আমি একই ত্রুটির মুখোমুখি হয়েছি

psql: FATAL:  database "user" does not exist

আমি এটির সমাধান করার জন্য এই সহজ কমান্ডটি পেয়েছি:

method1

$ createdb --owner=postgres --encoding=utf8 user

এবং টাইপ

 psql

পদ্ধতি 2:

psql -d postgres

5
পদ্ধতি 2 আমার জীবন বাঁচিয়েছে
tom10271

9

একই সমস্যা ছিল, একটি সাধারণ psql -d postgresএটি করেছে (টার্মিনালে কমান্ডটি টাইপ করুন)


6

পরিবেশ পরিবর্তনশীল PGDATABASE অস্তিত্বহীন এমন একটি ডাটাবেসের নামে সেট করা থাকলে এই ত্রুটিটিও ঘটতে পারে।

ওএসএক্স-এ, পোস্টগ্র্রেস.এপ মেনু থেকে পিএসকিএল চালু করার চেষ্টা করার সময় আমি নিম্নলিখিত ত্রুটিটি দেখেছি:

psql: FATAL: database "otherdb" does not exist

ত্রুটির সমাধান মুছে ফেলার জন্য ছিল export PGDATABASE=otherdbথেকে ~/.bash_profile:

আরও, যদি PGUSER আপনার ব্যবহারকারীর নাম ব্যতীত অন্য কিছুতে সেট করা থাকে তবে নিম্নলিখিত ত্রুটি ঘটবে:

psql: FATAL: role "note" does not exist

সমাধান থেকে অপসারণ করা export PGUSER=notmeহয় ~/.bash_profile


5

Postgres এর পোস্ট ইনস্টলেশন, আমার ক্ষেত্রে সংস্করণে 12.2 আমি কমান্ড নিচে চালানো হয়নি হয়, createdb

$ createdb `whoami`

$ psql

psql (12.2)
Type "help" for help.

macuser=# 

চিয়ার্স এটি আমার জন্য কাজ করেছে
ফয়সালবিআইএনকে

4

যেহেতু অনুসন্ধানের ফলাফলগুলিতে এই প্রশ্নটি প্রথম, তাই কোনও নকল শিরোনাম না থাকার জন্য, আমি যাইহোক যাইহোক, এখানে আলাদা সমস্যার জন্য আলাদা সমাধান রাখব।

psqlডাটাবেস উল্লেখ না করে কোনও ক্যুরি ফাইল চালানোর সময় একই ত্রুটি বার্তাটি উপস্থিত হতে পারে । যেহেতু useপোস্টগ্র্যাস্কল-তে কোনও বিবৃতি নেই , তাই আমাদের কমান্ড লাইনে ডাটাবেস নির্দিষ্ট করতে হবে, উদাহরণস্বরূপ:

psql -d db_name -f query_file.sql

1
এবং ডিবি template1 সবসময় বিদ্যমান
জানুয়ারী

4

যেমন ক্রিয়েটব ডকুমেন্টেশন বলে:

ডেটা স্টোরেজ এরিয়ালটি যখন আরম্ভ করা হয় তখন প্রথম ডাটাবেসটি সবসময়ই initdb কমান্ড দ্বারা তৈরি করা হয় ... এই ডাটাবেসটিকে পোস্টগ্রিস বলা হয়।

সুতরাং যদি কিছু ওএস / পোস্টগ্র্যাস্কিল বিতরণগুলি আলাদাভাবে করে, তবে এটি অবশ্যই ডিফল্ট / মান নয় (কেবল যাচাই করা হয়েছে যে initdbওপেনসুএস 13.1-এ ডিবি "পোস্টগ্র্যাস" তৈরি করে তবে "<ব্যবহারকারী>" নয়)। দীর্ঘ পোস্টের সংক্ষিপ্ত বিবরণ, psql -d postgres"পোস্টগ্র্রেস" ব্যতীত অন্য কোনও ব্যবহারকারীকে ব্যবহার করার সময় ব্যবহার করা হবে বলে আশা করা যায়।

স্পষ্টতই স্বীকৃত উত্তরটি, createdbব্যবহারকারীর মতো একটি ডিবি তৈরির জন্য দৌড়ে , পাশাপাশি কাজ করে তবে একটি অতিরিক্ত অতিরিক্ত ডিবি তৈরি করে।


1

জেডিবিসি ড্রাইভার ব্যবহার করতে সমস্যা হয়েছিল, তাই ইউআরএল-এ হোস্টের নামের পরে একটিতে কেবল ডাটাবেস যুক্ত করতে হবে (সম্ভবত আপনি যে সরঞ্জামটি ব্যবহার করতে পারেন তার উপর নির্ভর করে) jdbc:postgres://<host(:port)>/<db-name>

আরও বিশদ এখানে ডকুমেন্ট করা হয়েছে: http://www.postgresql.org/docs/7.4/static/jdbc-use.html#JDBC- সংযোগ


আমি জানি এটি কেবলমাত্র পিএসকিএল-এর জন্য জিজ্ঞাসা করা হয়েছিল, বিষয়টি বিবেচনা করে বিষয়টি কিছুটা দূরে রয়েছে, তবে গুগল আমাকে আমার সমস্যা নিয়ে এখানে এনেছে বলে আমি মনে করি এটির এখানে উল্লেখ করা উচিত
আন্ড্রেয়াস ডায়েরিচ

1

বিদ্যমান সুপারভাইজারের মাধ্যমে পোস্টগ্রাসে সংযুক্ত করুন।

আপনি পোস্টগ্রিজের মাধ্যমে সংযোগ করছেন এমন ব্যবহারকারীর নামে একটি ডেটাবেস তৈরি করুন।

create database username;

এখন ব্যবহারকারীর নাম দিয়ে যোগাযোগ করার চেষ্টা করুন


1

ব্যবহার করার চেষ্টা করুন-

psql -d postgres

আমি দৌড়ানোর সময় আমিও একই সমস্যার মুখোমুখি ছিলাম psql


0

প্রথমত, আপনি যখন ডিফল্ট ডাটাবেসটি ব্যবহার করতে চান এবং কোনও ডিবির নাম স্পষ্ট করে না জানিয়ে নতুন টেবিল তৈরি করতে চান তখন ত্রুটি রোধ করতে আপনার বর্তমান ব্যবহারের মতো একই নামে একটি ডাটাবেস তৈরি করা সহায়ক helpful

আপনার ব্যবহারকারীর নাম দিয়ে "স্কাইনোটাইফাই" প্রতিস্থাপন করুন:

psql -d postgres -c "CREATE DATABASE skynotify ENCODING 'UTF-8';"

-d স্পষ্টতই ঘোষণা করে যে এসকিউএল স্টেটমেন্টগুলির জন্য কোন ডাটাবেসটিকে ডিফল্ট হিসাবে ব্যবহার করা উচিত যা এই ইন্টারেক্টিভ সেশনের সময় স্পষ্টত কোনও ডিবি নাম অন্তর্ভুক্ত করে না।

আপনার পোস্টগ্র্যাসকিউএল সার্ভারের এতে কী আছে তার পরিষ্কার চিত্র পাওয়ার জন্য বেসিকস।

ইন্টারেক্টিভভাবে পিএসকিএল ব্যবহার করতে আপনাকে অবশ্যই একটি বিদ্যমান ডাটাবেসের সাথে সংযোগ করতে হবে। ভাগ্যক্রমে, আপনি ডাটাবেসের তালিকার জন্য পিএসকিএল চাইতে পারেন:

psql -l

                                          List of databases
               Name               | Owner  | Encoding |   Collate   |    Ctype    | Access privileges 
----------------------------------+-----------+----------+-------------+-------------+-------------------
 skynotify                        | skynotify | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 myapp_dev                        | skynotify | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres                         | skynotify | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 ruby-getting-started_development | skynotify | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0                        | skynotify | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/skynotify          +
                                  |           |          |             |             | skynotify=CTc/skynotify
 template1                        | skynotify | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/skynotify          +
                                  |           |          |             |             | skynotify=CTc/skynotify
(6 rows)

এটি ইন্টারেক্টিভ কনসোলটি শুরু করে না, এটি টার্মিনালে একটি পাঠ্য ভিত্তিক টেবিল আউটপুট করে।

অন্য উত্তরগুলির হিসাবে, পোস্টগ্রাগুলি সর্বদা তৈরি করা হয়, সুতরাং যখন আপনি যখন কনসোলটি অন্য ডেটাবেসগুলিতে কাজ শুরু করতে চান কেবল তখনই এটি আপনার ফেইলসেফ ডাটাবেস হিসাবে ব্যবহার করা উচিত। এটি যদি না থাকে তবে ডাটাবেসগুলি তালিকাভুক্ত করুন এবং তারপরে যেকোন একটি ব্যবহার করুন।

অনুরূপ ফ্যাশনে, একটি ডাটাবেস থেকে সারণী নির্বাচন করুন:

psql -d postgres -c "\dt;"

আমার "পোস্টগ্রিস" ডাটাবেসের কোনও টেবিল নেই, তবে যে কোনও ডাটাবেস টার্মিনালে পাঠ্য ভিত্তিক টেবিল আউটপুট দেয় (স্ট্যান্ডার্ড আউট)।

এবং সম্পূর্ণতার জন্য, আমরা একটি সারণী থেকেও সমস্ত সারি নির্বাচন করতে পারি:

psql -d ruby-getting-started_development -c "SELECT * FROM widgets;"

 id | name | description | stock | created_at | updated_at 
----+------+-------------+-------+------------+------------
(0 rows)

এমনকি যদি শূন্যটি সারি ফিরে আসে তবে আপনি ক্ষেত্রের নামগুলি পাবেন।

যদি আপনার টেবিলগুলিতে এক ডজনেরও বেশি সারি থাকে, বা আপনি নিশ্চিত নন, আপনার ডাটাবেসে কতটা ডেটা রয়েছে তা বোঝার জন্য সারিগুলির একটি গণনা শুরু করা আরও কার্যকর হবে:

 psql -d ruby-getting-started_development -c "SELECT count(*) FROM widgets;"

 count 
-------
     0
(1 row)

এবং যে "1 সারি" আপনাকে বিভ্রান্ত করবেন না, এটি কেবল কতগুলি সারি ক্যোয়ারী দ্বারা প্রত্যাবর্তন করেছে তা উপস্থাপন করে তবে 1 সারিটিতে আপনি চান এমন গণনা রয়েছে যা এই উদাহরণে 0।

দ্রষ্টব্য: নির্ধারিত মালিক ব্যতীত তৈরি একটি ডিবি বর্তমান ব্যবহারকারীর মালিকানাধীন হবে।


0

আমি এই সমাধানগুলির কয়েকটি চেষ্টা করেছিলাম, তবে সেগুলি কার্যকর হয়নি (যদিও তারা ডানদিকে খুব বেশি ছিল!)

শেষ পর্যন্ত আমার ত্রুটিটি ছিল:

FATAL: ব্যবহারকারীর জন্য পাসওয়ার্ড প্রমাণীকরণ ব্যর্থ

আমি যখন নিম্নলিখিত আদেশটি চালিয়েছি: psql

সুতরাং আমি এই দুটি কমান্ড চালিয়েছি:

dropdb()
createdb()

উল্লেখ্য: এই হবে ডিবি সরাতে, কিন্তু আমি এটা প্রয়োজন না এবং কোনো কারণে আমি আর এক্সেস pqsl পারে নি, তাই আমি মুছে ফেলেছি এবং এটা recreated। তারপরে psqlআবার কাজ করলেন।


0

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

psql -U Username postgres # when you have no databases yet

-1

হোমব্রিউয়ের মাধ্যমে পোস্টগ্র্যাস্কল ইনস্টল করার সময় এই সমস্যা ছিল।

এটির সাথে ডিফল্ট "পোস্টগ্রিজ" সুপার ব্যবহারকারী তৈরি করতে হয়েছিল:

creatuser - ইন্টারেক্টিভ পোস্ট ব্যবহার করে সুপার ব্যবহারকারীর জন্য y

creatuser - ইন্টারেক্টিভ ব্যবহারকারী সুপার ব্যবহারকারীর জন্য y


-3

হোমগ্রাব ব্যবহার করে পোস্টগ্র্যাস্কল ইনস্টল করার পরেও আমার উপরে সমস্যাটি ছিল - আমি / usr / স্থানীয় / বিনকে আমার পথে / usr / বিনের আগে রেখে সমাধান করেছি


-12

এটির সহজ ব্যাখ্যা; এটা খুব ইস্যু। শুধু টাইপিং

pgres

এই প্রতিক্রিয়া ফলাফল হবে।

pgres <db_name> 

ব্যবহারকারীর ডিবি অ্যাক্সেসের অনুমতি থাকলে ত্রুটি ছাড়াই সফল হবে।

কেউ রফতানি পরিবেশের পরিবর্তনশীলগুলির বিশদে যেতে পারে তবে এটি অপ্রয়োজনীয় .. অন্য কোনও কারণে ব্যর্থ হওয়া এটি খুব মৌলিক।


5
সত্যিই "নুব ইস্যু ভাষার ধরণ" পছন্দ করবেন না
কিম্মো হিন্টিক্কা

এছাড়াও এটি কীভাবে সমস্যাটি সমাধান করবেন তা প্রস্তাব দেয় না, সুতরাং প্রশ্নের উত্তর দেয়নি।
দেবোরাহ

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