পোস্টগ্র্যাসকিএল সুপারভাইজার হিসাবে "ক্রিয়েটবি" দিয়ে ডিবি তৈরি করছে না, তবুও ত্রুটিগুলি আউটপুট করছে না [নকল]


106

আমি 'পোস্টগ্রিস' সুপার ব্যবহারকারীর সাথে একটি নতুন পোস্টগ্র্যাস্কল ইনস্টল করে কাজ করছি। এর মাধ্যমে লগ ইন:

sudo -u postgres psql


postgres=# createdb database
postgres-# \list
                                  List of databases
   Name    |  Owner   | Encoding |  Collation  |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | 
 template0 | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres
 template1 | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres

কোনও ত্রুটি নেই, এখনও সারণী তৈরি হচ্ছে না। কোন ধারনা?


উত্তর:


220

createdbএকটি কমান্ড লাইন ইউটিলিটি যা আপনি বাশ থেকে চালাতে পারেন এবং পিএসএইচএল থেকে নয়। পিএসকিএল থেকে একটি ডাটাবেস তৈরি করতে, create databaseবিবৃতিটি এভাবে ব্যবহার করুন :

create database [databasename];

দ্রষ্টব্য: আপনার এসকিউএল স্টেটমেন্টগুলি সর্বদা সাথে শেষ করার বিষয়টি নিশ্চিত হন ;


38
ধন্যবাদ, আমি এখন নিজেকে চড় মারব। :)
ড্যামিয়েন রোচে

4
অবশ্যই সহজ পয়েন্টস;) এখনও 7 মিনিট অপেক্ষা করতে হবে (দৃশ্যত)। আবার ধন্যবাদ.
ড্যামিয়েন রোচে

38
শেষে সেমিকোলন যুক্ত করতে ভুলবেন না ..;
তীমথিয় ডালটন

6
জয়ের জন্য সেমি কলিন!
মাইকেল দিম্মিট

4
ধন্যবাদ! আধা সেমিকোলনটি আমার জন্য কাজ করেছিল। তাই ক্ষুদ্র এখনো জীবন পরিবর্তন;)
SAS

75

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


টিএল / টিআর: সর্বদা আপনার এসকিউএল বিবৃতি দিয়ে শেষ করুন ;


কারণ বিবৃতিটি createdb databaseশেষ হয়নি বলে শেষ হয়েছে ; psqlএবং আরও ইনপুটটির জন্য অপেক্ষা করবে। এই থেকে প্রম্পট পরিবর্তন করে নির্দেশিত হয় postgres=#থেকে postgres-#। একটি অত্যন্ত সূক্ষ্ম পরিবর্তন যা আমি ইচ্ছা psqlকরি ভিন্নভাবে করতে হবে (আরও "বিশিষ্ট")।

মেটা-কমান্ড প্রবেশ করে \list"বর্তমান" এসকিউএল বিবৃতিটি কার্যকর না করেই "বাতিল" করা হয়।

যদি createdbএকটি দিয়ে শেষ হয়েছে ;আউটপুট হত:

postgres => madeb foobar;
ত্রুটি: "ক্রিয়েটিব" -এ বা তার কাছাকাছি সিনট্যাক্স ত্রুটি
লাইন 1: ক্রিয়েটব ফুবার;
        ^
postgres =>

পরিষ্কারভাবে দেখানো হচ্ছে যে কিছু ভুল ছিল।


4
বাহ, এটি সত্যিই সূক্ষ্ম তবে মারাত্মক। আমি বেশ কিছুদিন ধরে এই সমস্যাটি নিয়ে আসছিলাম। প্রথমবার আপনি যখন সেমিকোলন দিয়ে কমান্ডটি চালাবেন আপনি ত্রুটি পাবেন কারণ createdbবৈধ নয়। তবে সেমিকোলনের create databaseপরিবর্তে ঠিক একই কমান্ডটির পুনরাবৃত্তি createdbপুরোপুরি কার্যকরভাবে কাজ করে।
গ্লেন সেল

4
@ হেলসিং: আমি এটাই লিখেছি, আমি কেবল ব্যাখ্যা করেছি কেন এটি ত্রুটি বার্তাটি অবৈধ থাকলেও কেন নেই
a_horse_with_no_name

@ এ_হর্স_বিহীন_নাম_হ্যাঁ, আমি আপনার উদ্দেশ্যকে ভুল বুঝেছি। আপনার উত্তরকেও উজ্জীবিত করে তুলেছে।
হেলসিং

3

আমি অনেক আগে এই পরিস্থিতিতে ছিল। যদি অন্য কেউ এটির অভিজ্ঞতা অনুভব করে, কমান্ড প্রম্পটটি দেখায় যে postgres-#আপনি কেবল টাইপিং ;এবং রিটার্ন কী দ্বারা পেন্ডিং কমান্ডটি কার্যকর করতে পারেন ।



0

নোড টার্মিনাল ব্যবহার করে, আমাকে চালাতে হয়েছিল:

psql -U postgres 

[আপনার পাসওয়ার্ড লিখুন]

তাহলে ...

CREATE DATABASE dbadmin;

বিভ্রান্তকর বিষয় হ'ল আমি এই একই আদেশগুলি আগে প্রবেশ করলাম এবং এটি কার্যকর হয়নি। লগ আউট এবং আবার লগ ইন করার পরে, আমি ডকুমেন্টেশন থেকে এই স্ট্যান্ডার্ড কমান্ডটি ব্যবহার করতে সক্ষম হয়েছি: https://www.postgresql.org/docs/10/tutorial-createdb.html

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