برنامه نویسی

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؟ برای بینش های بیشتر پایگاه داده و راهنماهای عملی دنبال کنید – بعداً!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا