जवाबों:
PostgreSQL में, आप \connect
क्लाइंट टूल psql के मेटा-कमांड का उपयोग कर सकते हैं :
\connect DBNAME
या संक्षेप में:
\c DBNAME
.sql
फ़ाइल में काम कर सकता है ? उदाहरण के लिए मैं इसके CREATE DATABASE mydb;
बाद हो सकता है \connect mydb
?
psql
SQL स्क्रिप्ट फ़ाइल में कमांड शामिल नहीं कर सकते ।
PSQL प्रॉम्प्ट पर, आप यह कर सकते हैं:
\connect (or \c) dbname
आप psql के साथ कनेक्ट करते समय डेटाबेस का चयन कर सकते हैं। स्क्रिप्ट से इसका उपयोग करते समय यह आसान है:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
डेटाबेस के
\c
लिए डेटाबेसनाम \df
विशेष डेटाबेस में संग्रहीत प्रक्रियाओं के लिए db पर स्विच करने के
लिए
Psql के मेटा-कमांड \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
( प्रलेखन देखें ) का उपयोग करना ।
उदाहरण: \c MyDatabase
ध्यान दें कि \c
और \connect
मेटा-कमांड केस-संवेदी हैं ।
अपने पोस्टग्रेएसडी आरडीएमएस के अंदर रहने वाले विभिन्न डेटाबेस पर स्विच करने के लिए नीचे दिए गए विवरण का उपयोग करें
\c databaseName
यदि आप स्टार्टअप पर एक विशिष्ट डेटाबेस पर स्विच करना चाहते हैं, तो प्रयास करें
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
डिफ़ॉल्ट रूप से, Postgres पोर्ट 5432 पर चलता है। यदि यह दूसरे पर चलता है, तो कमांड लाइन में पोर्ट को पास करना सुनिश्चित करें।
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;
एक साधारण उपनाम से, हम इसे आसान बना सकते हैं।
अपने .bashrc
या में एक उपनाम बनाएँ.bash_profile
function psql()
{
db=vigneshdb
if [ "$1" != ""]; then
db=$1
fi
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}
psql
कमांड लाइन में चलाएं , यह डिफ़ॉल्ट डेटाबेस पर जाएगा; psql anotherdb
, यह स्टार्टअप पर नाम के साथ db पर स्विच करेगा, स्टार्टअप पर।
हालांकि प्रश्न में स्पष्ट रूप से नहीं कहा गया है, उद्देश्य एक विशिष्ट स्कीमा / डेटाबेस से कनेक्ट करना है।
एक अन्य विकल्प स्कीमा से सीधे जुड़ना है। उदाहरण:
sudo -u postgres psql -d my_database_name
स्रोत से man psql
:
-d dbname
--dbname=dbname
Specifies the name of the database to connect to. This is equivalent to specifying dbname as the first non-option argument on the command line.
If this parameter contains an = sign or starts with a valid URI prefix (postgresql:// or postgres://), it is treated as a conninfo string. See Section 31.1.1, “Connection Strings”, in the
documentation for more information.
आप का उपयोग कर कनेक्ट कर सकते हैं
\ c dbname
यदि आप POSTGRESQL या SQL के लिए सभी संभावित आदेश देखना चाहते हैं, तो निम्न चरणों का पालन करें:
रेलबोक्सोल (आप अपने वर्तमान ईएनवी डेटाबेस में पुनः वितरित किया जाएगा)
\? (POSTGRESQL आदेशों के लिए)
या
\ h (SQL कमांड के लिए)
प्रेस क्यू से बाहर निकलें
जैसा कि अन्य उत्तरों में बताया गया है, आपको एक अलग डेटाबेस का उपयोग करने के लिए कनेक्शन बदलने की आवश्यकता है।
पोस्टग्रेट्स स्कीमा के साथ काम करता है। आपके पास एक ही डेटाबेस में कई योजनाएं हो सकती हैं। इसलिए, यदि आप एक ही डेटाबेस के भीतर काम कर रहे हैं, और स्कीमा बदलना चाहते हैं, तो आप कर सकते हैं:
SET SCHEMA 'schema_name';
SET SCHEMA
का उपयोग SET SCHEMA 'schema_name'
नहीं किया जाता है SET SCHEMA 'database_name'
। तो यह एक SQL तरीका है स्कीमा नहीं डेटाबेस को बदलने के लिए। इसके अलावा यह भी इसी तरह है SET search_path TO schema_name
। यहाँ या यहाँ प्रलेखन देखें ।
psql
, PostgreSQL के लिए फ्रंट-एंड?