it-swarm.asia

كيف تبديل قواعد البيانات في psql؟

في MySQL اعتدت use database_name;

ما هو مكافئ psql؟

956
Blankman

في PostgreSQL ، يمكنك استخدام \connect meta-command لأداة العميل psql:

\connect DBNAME

أو باختصار:

\c DBNAME
1469
Will Hartung

يمكنك الاتصال بقاعدة بيانات باستخدام \c <database> أو \connect <database>.

176
meagar

في موجه PSQL ، يمكنك القيام بما يلي:

\connect (or \c) dbname
93
Michael Goldshteyn

يمكنك الاتصال باستخدام

\c dbname
25
Jeswin K Ninan

يمكنك تحديد قاعدة البيانات عند الاتصال مع psql. هذا مفيد عند استخدامه من برنامج نصي:

Sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
23
Manel Clos

باستخدام كود التعريف الخاص بـ psql \c or \connect [ dbname [ username ] [ Host ] [ port ] ] | conninfo (انظر التوثيق ).

مثال: \c MyDatabase

لاحظ أن الأوامر الوصفية \c و \connect هيحساسة لحالة الأحرف.

9
Franck Dernoncourt

\l لقواعد البيانات \c DatabaseName للتبديل إلى db \df للإجراءات المخزنة في قاعدة بيانات معينة

9
Ambrish Rajput

استخدم العبارة أدناه للتبديل إلى قواعد بيانات مختلفة موجودة داخل postgreSQL RDMS

\c databaseName
7
Bilal Mahmood

إذا كنت تريد التبديل إلى قاعدة بيانات محددة عند بدء التشغيل ، فحاول

/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 ، فسوف يتحول إلى الديسيبل مع الاسم في الوسيطة ، عند بدء التشغيل.

1
Vignesh Raja

يسمح لك SQL بتعريف قاعدة البيانات في الاستعلام. فلماذا لا تستخدم ببساطة؟

SELECT 
 *
FROM 
 database.table 

ثم لن تضطر إلى "تحديد" قاعدة البيانات "يدويًا"

أو قاعدة بيانات مشتركة مثال JOIN

SELECT 
 *
FROM 
 world.country
INNER JOIN 
 cms.user 
ON
 country.id = user.country_id
WHERE 
 country.isoCode = '<isoCode>'
0
Raymond Nijland

على الرغم من عدم ذكر ذلك صراحةً في السؤال ، فإن الغرض من ذلك هو الاتصال بقاعدة بيانات/قاعدة بيانات محددة.

خيار آخر هو الاتصال مباشرة إلى المخطط. مثال:

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.
0
AlikElzin-kilaka