في MySQL اعتدت use database_name;
ما هو مكافئ psql؟
في PostgreSQL ، يمكنك استخدام \connect
meta-command لأداة العميل psql:
\connect DBNAME
أو باختصار:
\c DBNAME
يمكنك الاتصال بقاعدة بيانات باستخدام \c <database>
أو \connect <database>
.
في موجه PSQL ، يمكنك القيام بما يلي:
\connect (or \c) dbname
يمكنك الاتصال باستخدام
\c dbname
يمكنك تحديد قاعدة البيانات عند الاتصال مع psql. هذا مفيد عند استخدامه من برنامج نصي:
Sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
باستخدام كود التعريف الخاص بـ psql \c or \connect [ dbname [ username ] [ Host ] [ port ] ] | conninfo
(انظر التوثيق ).
مثال: \c MyDatabase
لاحظ أن الأوامر الوصفية \c
و \connect
هيحساسة لحالة الأحرف.
\l
لقواعد البيانات \c
DatabaseName للتبديل إلى db \df
للإجراءات المخزنة في قاعدة بيانات معينة
استخدم العبارة أدناه للتبديل إلى قواعد بيانات مختلفة موجودة داخل postgreSQL RDMS
\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
، فسوف يتحول إلى الديسيبل مع الاسم في الوسيطة ، عند بدء التشغيل.
يسمح لك SQL بتعريف قاعدة البيانات في الاستعلام. فلماذا لا تستخدم ببساطة؟
SELECT
*
FROM
database.table
ثم لن تضطر إلى "تحديد" قاعدة البيانات "يدويًا"
أو قاعدة بيانات مشتركة مثال JOIN
SELECT
*
FROM
world.country
INNER JOIN
cms.user
ON
country.id = user.country_id
WHERE
country.isoCode = '<isoCode>'
على الرغم من عدم ذكر ذلك صراحةً في السؤال ، فإن الغرض من ذلك هو الاتصال بقاعدة بيانات/قاعدة بيانات محددة.
خيار آخر هو الاتصال مباشرة إلى المخطط. مثال:
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.