10 دستورات PSQL برای افزایش بهره وری (با مثال)

آیا می دانید که با وجود همه ابزارهای GUI فانتزی موجود ، خط فرمان فروتن psql
محبوب ترین روش برای تعامل با پایگاه داده های PostgreSQL باقی مانده است؟
اما بیایید صادق باشیم – psql
کمی منحنی یادگیری دارد. سحر و جادو واقعی در متائیان آن (یا دستورات برش) نهفته است ، که با یک پشتی شروع می شود (\
). این دستورات می توانند گردش کار شما را به طرز چشمگیری بهبود بخشند ، اما فقط اگر بدانید که آنها وجود دارند!
بگذارید شما را از طریق 10 مورد برتر مورد استفاده خود قدم بزنم psql
متا کامند که تعامل پایگاه داده شما را بسیار نرم تر می کند.
📚 به مقاله کامل پرش کنید
🔧 نصب psql
در مک ، اوبونتو ، دبیان ، ویندوز
1 \d
– روابط را توصیف کنید
این دستور تمام روابط (جداول ، دیدگاه ها ، توالی ها) را به شما نشان می دهد که جلسه فعلی شما می تواند به آنها دسترسی پیدا کند:
tsdb=> \d
List of relations
Schema | Name | Type | Owner
--------+-------+-------+-----------
public | power | table | tsdbadmin
public | small | table | tsdbadmin
(2 rows)
🔥 برای نکته: انواع زیادی از این دستور وجود دارد:
به عنوان یک امتیاز اضافی ، سعی کنید \d+
برای دیدن اندازه از هر جدول ، یا \l+
برای اندازه پایگاه داده
2 \d
جدول – یک رابطه خاص را شرح دهید
به جزئیات یک جدول خاص نیاز دارید؟ استفاده کردن \d
به دنبال نام جدول:
tsdb=> \d small
Table "public.small"
Column | Type | Collation | Nullable | Default
----------+--------------------------+-----------+----------+---------
ts | timestamp with time zone | | |
sensorid | integer | | |
value | double precision | | |
Indexes:
"small_sensorid_ts_idx" btree (sensorid, ts DESC)
این به شما ستون ها ، انواع داده ها ، محدودیت ها و فهرست ها را در یک نمای به شما می دهد.
3 \e
– ویرایش بافر پرس و جو
روی یک پرس و جو پیچیده کار می کنید؟ هر وقت یک پرس و جو را اجرا می کنید psql
، به بافر پرس و جو شما می رود. در \e
Command ویرایشگر پیش فرض خود را با آن بافر بارگیری می کند تا بتوانید آن را به درستی ویرایش کنید.
این یک نجات دهنده برای نمایش داده های پیچیده است که ویرایش های یک خط در ترمینال خسته کننده می شوند!
4 \ef
تابع – عملکرد ویرایش
شبیه \e
، اما این ویرایشگر شما را با تعریف عملکرد موجود بارگیری می کند. وقتی پس انداز و خروج می کنید ، SQL را به طور خودکار اجرا می کند.
به یاد داشته باشید که شامل شوید CREATE OR REPLACE
اگر در حال به روزرسانی یک عملکرد موجود هستید!
5 \x
– خروجی گسترش یافته
این دستور نحوه نمایش نتایج را تغییر می دهد. به جای ستون هایی که در صفحه نمایش شما کشیده می شوند ، هر سطر به یک بلوک عمودی تبدیل می شود:
tsdb=> \x
-- Expanded display is on.
tsdb=> select * from power limit 1;
-[ RECORD 1 ]------------------------
ts | 2024-04-11 03:53:05.76672+00
stream | 1
v01 | 8043.284272117919
v02 | 6896.529731366893
v03 | 460.279921892548
...
این در هنگام برخورد با جداول گسترده یا ستون های حاوی JSON ، داده های جغرافیایی یا متن طولانی بسیار ارزشمند است.
6 \timing
– زمان بندی فرمان را تغییر دهید
حالت زمان بندی را فعال کنید تا ببینید هر پرس و جو چه مدت طول می کشد:
tsdb=> \timing
-- Timing is on.
tsdb=> select max(v01) from power;
-[ RECORD 1 ]——
—max | 9999.99927364142
Time: 30.635 ms
فقط توجه داشته باشید که این شامل زمان سفر به دور شبکه است ، که می تواند هنگام اتصال به پایگاه داده های از راه دور قابل توجه باشد.
7 \c
پایگاه داده – به پایگاه داده متصل شوید
آیا نیاز به تغییر پایگاه داده ها بدون قطع ارتباط دارید؟ از \ c استفاده کنید و نام پایگاه داده را دنبال کنید:
tsdb=> \c another_database
You are now connected to database "another_database" as user "tsdbadmin".
8 \copy
– کپی SQL را انجام دهید
دستور کپی PostgreSQL برای داده های بارگذاری فله عالی است ، اما طرف سرور را اجرا می کند. در \copy
Meta-Command همان عملکرد را انجام می دهد اما طرف مشتری را اجرا می کند ، به این معنی که می تواند به پرونده های محلی شما دسترسی پیدا کند:
tsdb=> \copy my_table FROM '/path/to/local/file.csv' WITH CSV HEADER;
این امر به ویژه در هنگام کار با پایگاه داده های ابری مفید است که در آن نمی توانید به راحتی پرونده ها را در سرور بارگذاری کنید.
9 \i
پرونده – SQL را از پرونده بخوانید
یک اسکریپت SQL دارید که می خواهید اجرا کنید؟ استفاده کردن \i
برای اجرای دستورات از یک پرونده:
tsdb=> \i ./my_script.sql
همه دستورات به ترتیب اجرا می شوند و خطاها قابل مشاهده خواهند بود اما اجرای آن را متوقف نمی کنند.
10 \?
– برگه تقلب Meta-Command PSQL
فراموش کرده اید که چگونه یک متا کاماند کار می کند؟ نوع \?
برای دیدن همه دستورات موجود:
tsdb=> \?
پیچیدن
در حالی که بسیاری از ابزارهای GUI عالی در آنجا وجود دارد (مانند Pgadmin ، DataGrip یا PopSQL) ، تسلط psql
متا کامند می تواند شما را هنگام کار با PostgreSQL به طور قابل توجهی تولید کند.
اگر به نکات سریع تری نیاز دارید ، برای تعامل با پایگاه داده PostgreSQL خود ، برگه تقلب ما را بررسی کنید.
مورد علاقه شما چیست psql
ترفندها؟ آنها را در نظرات زیر به اشتراک بگذارید!
می خواهید نکات بیشتر postgresql؟ برای بینش های بیشتر پایگاه داده و راهنماهای عملی دنبال کنید – بعداً!