postgresql - create - postgres comment on column




psql的替代輸出格式 (5)

(新)擴展自動模式:\ x自動

Postgresql 9.2的新增功能; PSQL自動適合屏幕寬度的記錄。 以前只有擴展模式打開或關閉,必鬚根據需要在模式之間切換。

  • 如果記錄可以適合屏幕的寬度; psql使用正常的格式。
  • 如果記錄適合屏幕的寬度; psql使用擴展模式。

要得到這個用途: \ x auto

Postgresql 9.5關於PSQL命令的文檔。

寬屏幕,正常格式化:

 id | time  |       humanize_time             | value 
----+-------+---------------------------------+-------
  1 | 09:30 |  Early Morning - (9.30 am)      |   570
  2 | 11:30 |  Late Morning - (11.30 am)      |   690
  3 | 13:30 |  Early Afternoon - (1.30pm)     |   810
  4 | 15:30 |  Late Afternoon - (3.30 pm)     |   930
(4 rows)

縮小屏幕,擴展格式:

-[ RECORD 1 ]-+---------------------------
id            | 1
time          | 09:30
humanize_time | Early Morning - (9.30 am)
value         | 570
-[ RECORD 2 ]-+---------------------------
id            | 2
time          | 11:30
humanize_time | Late Morning - (11.30 am)
value         | 690
-[ RECORD 3 ]-+---------------------------
id            | 3
time          | 13:30
humanize_time | Early Afternoon - (1.30pm)
value         | 810
-[ RECORD 4 ]-+---------------------------
id            | 4
time          | 15:30
humanize_time | Late Afternoon - (3.30 pm)
value         | 930

如何用\ x auto啟動psql

在啟動時配置\x auto命令,方法是將其添加到主文件夾中的.psqlrc並重新啟動psql。 查看psql文檔中的“文件”部分以獲取更多信息

〜/ .psqlrc

\x auto

我在Ubuntu上使用PostgreSQL 8.4。 我有一個表格,列c1cN 。 這些列足夠寬,以至於選擇所有列會導致一行查詢結果多次包裝。 因此,輸出很難閱讀。

當查詢結果只包含幾行時,如果我可以查看查詢結果以便每行的每一列都位於單獨的行上,那將很方便,例如

 c1: <value of row 1's c1>
 c2: <value of row 1's c1>
 ...
 cN: <value of row 1's cN>
 ---- some kind of delimiter ----
 c1: <value of row 2's c1>
 etc.

我在服務器上運行這些查詢,我不希望安裝任何其他軟件。 有沒有一個psql的設置,可以讓我做這樣的事情?


pspg是一個簡單的工具,提供高級表格格式,水平滾動,搜索和更多功能。

git clone https://github.com/okbob/pspg.git
cd pspg
./configure
make
make install

然後確保更新PAGER變量,例如在~/.bashrc

export PAGER="pspg -s 6" 

其中-s代表配色方案( 1-14 )。 如果您使用的是pgdg存儲庫,只需安裝一個軟件包(在Debian-like發行版上):

sudo apt install pspg


你有這麼多的選擇,你怎麼會感到困惑:-)? 主要控制措施是:

# \pset format
# \H
# \x
# \pset pager off

每個人都有選擇和與其他人的互動。 最自動的選項是:

# \x off;\pset format wrapped
# \x auto

較新的“\ x auto”選項僅在“需要時”逐行顯示。

-[ RECORD 1 ]---------------
id          | 6
description | This is a gallery of oilve oil brands.
authority   | I love olive oil, and wanted to create a place for
reviews and comments on various types.
-[ RECORD 2 ]---------------
id          | 19
description | XXX Test A 
authority   | Testing

較舊的“\ pset格式包裝”類似,因為它試圖將數據整齊地放在屏幕上,但如果標題不適合,則會退回到未對齊。 這是一個包裝的例子:

 id |          description           |            authority            
----+--------------------------------+---------------------------------
  6 | This is a gallery of oilve     | I love olive oil, and wanted to
    ; oil brands.                    ;  create a place for reviews and
    ;                                ;  comments on various types.
 19 | Test Test A                    | Testing

另外一定要檢查\ H,它打開/關閉HTML輸出。 在控制台上閱讀並不一定容易,但對於轉儲到文件(請參閱\ o)或粘貼到編輯器/瀏覽器窗口中進行查看非常有趣,特別是對於多行相對複雜的數據。


我只需要花更多時間盯著文檔。 這個命令:

\x on

將做我想要的。 以下是一些示例輸出:

select * from dda where u_id=24 and dda_is_deleted='f';
-[ RECORD 1 ]------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
dda_id             | 1121
u_id               | 24
ab_id              | 10304
dda_type           | CHECKING
dda_status         | PENDING_VERIFICATION
dda_is_deleted     | f
dda_verify_op_id   | 44938
version            | 2
created            | 2012-03-06 21:37:50.585845
modified           | 2012-03-06 21:37:50.593425
c_id               | 
dda_nickname       | 
dda_account_name   | 
cu_id              | 1
abd_id             | 




psql