PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

~ / .psqlrc tệp cho DBA

Trong quá trình giám sát DBA thường xuyên của chúng tôi, chúng tôi sẽ sử dụng rất nhiều kết hợp các truy vấn pg_catalog để phản hồi thông tin như trong giao dịch, truy vấn chờ, Số lượng kết nối, v.v. Hầu hết các DBA, tạo ra các khung nhìn để cắt ngắn các truy vấn kết hợp lớn và thuận tiện cho việc sử dụng sau này theo yêu cầu.

PostgreSQL, cung cấp tệp khởi động (.psqlrc) thực thi trước khi kết nối với cơ sở dữ liệu khi sử dụng với tiện ích psql. Sử dụng tệp .psqlrc, bạn có thể đặt tất cả các truy vấn quan trọng của mình bằng một bí danh từ bằng lệnh ‘set’ và thực thi nó trong thiết bị đầu cuối psql thay vì nhập các truy vấn lớn. Nếu bạn không nhìn thấy tệp .psqlrc trong thư mục chính của người dùng ‘postgres’, bạn có thể tạo nó một cách rõ ràng. Tôi đã thử và thấy rất hữu ích.

Điểm trên .psqlrc:
  • .psqlrc là một tệp khởi động, thực thi khi kết nối với cụm.
  • Tệp .psqlrc sẽ nằm trong thư mục chính của người dùng 'postgres'.
  • tùy chọn psql -X hoặc -c, không đọc tệp .psqlrc.
  • Tệp .psqlrc dành cho cấp phiên hoàn chỉnh chứ không phải cấp cơ sở dữ liệu.

Ảnh chụp màn hình thiết bị đầu cuối của tôi:

Hãy xem cách triển khai điều này.

Cú pháp:

set <alias-variable-name>  'query'
Lưu ý:nếu truy vấn của bạn có dấu nháy đơn hoặc dấu ngoặc kép thì hãy sử dụng ‘hoặc” trong truy vấn. Truy vấn Mẫu để đưa vào tệp .psqlrc với bí danh:
vi ~/.psqlrc

set PAGER OFF

set waits 'SELECT pg_stat_activity.procpid, pg_stat_activity.current_query, pg_stat_activity.waiting, now() - pg_stat_activity.query_start as "totaltime", pg_stat_activity.backend_start FROM pg_stat_activity WHERE pg_stat_activity.current_query !~ '%IDLE%'::text AND pg_stat_activity.waiting = true;;'

set locks 'select pid,mode,current_query from pg_locks,pg_stat_activity where granted=false and locktype='transactionid' and pid=procpid order by pid,granted;;'

:wq!

Cách sử dụng:

postgres=# :waits
procpid | current_query | waiting | totaltime | backend_start
---------+-------------------------------+---------+-----------------+----------------------------------
9223 | insert into locks VALUES (1); | t | 00:00:18.901773 | 2011-10-08 00:29:10.065186+05:30
(1 row)

postgres=# :locks
pid | mode | current_query
------+-----------+-------------------------------
9223 | ShareLock | insert into locks VALUES (1);
(1 row)

Nó không hữu ích. Vui thích… :). Sẽ quay lại với một số nội dung khác.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy cập bí danh cột trong mệnh đề where trong postgresql

  2. Hàm xóa dấu trong postgreSQL

  3. Làm thế nào để đặt lại trình tự trong postgres và điền vào cột id bằng dữ liệu mới?

  4. Các tiện ích mở rộng PostgreSQL yêu thích của tôi - Phần thứ hai

  5. Làm cách nào để bạn thêm Trình điều khiển PostgreSQL làm phụ thuộc trong Maven?