कमांड लाइन से डेटाबेस बनाएं


114

मैं कमांड लाइन से डेटा बेस बनाने की कोशिश कर रहा हूं। मेरा ओएस सेंटोस है और वर्जन का वर्जन 10.9 है।

sudo -u postgres psql createdb test
Password for user test:

उपयोगकर्ता द्वारा मुझसे क्यों पूछा गया?


जवाबों:


156

उपयोगकर्ता को पोस्टग्रेज में बदलें:

su - postgres

Postgres के लिए User Create करें

$ createuser testuser

डेटाबेस बनाएँ

$ createdb testdb

आसन शैल पोस्ट करता है

psql ( enter the password for postgressql)

उपयोगकर्ता को पोस्टग्रेज करने के लिए विशेषाधिकार प्रदान करें

$ alter user testuser with encrypted password 'qwerty';
$ grant all privileges on database testdb to testuser;

23
महत्वपूर्ण: createuser और createb शेल में चलाए जाते हैं और psql के साथ नहीं
किम कर्न

21
लेकिन अगर psql के साथ चलाया जाए, तो सही कमांड हैं:create user testuser; create database testdb;
kiril

66

प्रयत्न:

sudo -u postgres psql -c 'create database test;'

9
साथ ही अनुमति देना न भूलें:sudo -u postgres psql -c 'grant all privileges on database test to username;'
lukyer

32

createdbएक कमांड लाइन उपयोगिता है जिसे आप बैश से चला सकते हैं और psql से नहीं। Psql से एक डेटाबेस बनाने के लिए, इस तरह से डेटाबेस स्टेटमेंट का उपयोग करें:

create database [databasename];

नोट: हमेशा अपने एसक्यूएल बयानों को समाप्त करना सुनिश्चित करें ;


3
प्लस के साथ अंत के बारे में एक संकेत;
Jstuff

बस यह टिप्पणी करना चाहता था कि Postgres UPPERCASE को कम कर देता है। तो CREATE DATABASE FOOवास्तव में नामित डेटाबेस का निर्माण होगा foo। मुझे यह पता लगाने में 5 मिनट का समय लगा कि "डेटाबेस मौजूद क्यों नहीं है"। देखें: stackoverflow.com/questions/43111996/…
O-9

25

जैसा कि कुछ उत्तर बताते हैं, createdbएक कमांड लाइन उपयोगिता है जिसका उपयोग डेटाबेस बनाने के लिए किया जा सकता है।

यह मानते हुए कि आपके पास एक उपयोगकर्ता नाम है dbuser, निम्नलिखित कमांड का उपयोग एक डेटाबेस बनाने और निम्नलिखित तक पहुँच प्रदान करने के लिए किया जा सकता है dbuser:

createdb -h localhost -p 5432 -U dbuser testdb

localhostअपने सही DB होस्ट नाम 5432को सही DB पोर्ट के साथ बदलें , और testdbउस डेटाबेस के नाम के साथ जिसे आप बनाना चाहते हैं।

अब psqlइस नए बनाए गए डेटाबेस से जुड़ने के लिए इस्तेमाल किया जा सकता है:

psql -h localhost -p 5432 -U dbuser -d testdb

createdbऔर psqlसंस्करणों के साथ परीक्षण किया गया 9.4.15


यह एक ऐसा उदाहरण है जिस पर मैं ssh नहीं कर सकता, एक डेटाबेस बनाने का सही तरीका था। दूरस्थ psll उपयोगिता के लिए -c परम के रूप में "सृजन DB" को चलाने के सभी प्रयासों ने उपयोगकर्ता की तरह नामित डेटाबेस के अस्तित्व को ग्रहण किया
गिली गरी

14

Postgres के डिफ़ॉल्ट कॉन्फ़िगरेशन के रूप में, एक उपयोगकर्ता जिसे Postgres कहा जाता है, बनाया जाता है और उपयोगकर्ता Postgres के पास आपके OS पर चलने वाले पूरे PostgreSQL इंस्टेंस तक पूर्ण सुपर एडमिन एक्सेस होता है।

sudo -u postgres psql

उपरोक्त आदेश आपको व्यवस्थापक मोड में psql कमांड लाइन इंटरफ़ेस मिलता है।

उपयोगकर्ता बनाना

sudo -u postgres createuser <username>

डेटाबेस बनाना

 sudo -u postgres createdb <dbname>

नोट: <> कमांड लिखते समय उपयोग नहीं किया जाता है, वे केवल चर को दर्शाने के लिए उपयोग किए जाते हैं


2
PGPORT=5432
PGHOST="my.database.domain.com"
PGUSER="postgres"
PGDB="mydb"
createdb -h $PGHOST -p $PGPORT -U $PGUSER $PGDB

यदि आप 'PGDB' को 'PGDATABASE' में बदलते हैं और उन्हें निर्यात करते हैं (या कमांड में उन्हें उपसर्ग करते हैं), तो आपको इन्हें कमांड में पास करने की आवश्यकता नहीं है, यह उन्हें पर्यावरण से पढ़ेगा।
कॉनर बेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.