1. 程式人生 > >postgresql常用命令psql

postgresql常用命令psql

原部落格:https://blog.csdn.net/ghostliming/article/details/51036882

\d :顯示資料庫中有哪些表
\d tab_name :查看錶的定義

PG中無dual表。
select 1+1;

\l :檢視資料庫
建立資料庫並連結:
postgres=# create database test;
CREATE DATABASE
postgres=# \c test
您現在已經連線到資料庫 “test”,使用者 “postgres”.

psql連線資料庫:psql -h -p db_name user_name
C:\Users\Administrator>psql -h localhost -p 5432 test postgres
psql (9.5.1)
輸入 “help” 來獲取幫助資訊.

test=#

postgres=# \d test
資料表 “public.test”
欄位 | 型別 | 修飾詞
------±--------±-------
id | integer |

postgres=# \d+ test
資料表 “public.test”
欄位 | 型別 | 修飾詞 | 儲存 | 統計目標 | 描述
------±--------±-------±------±---------±-----
id | integer | | plain | |

匹配不同物件型別的\d命令
如果想只顯示匹配的表,可以使用\dt命令
如果想只顯示索引,可以使用\di命令
如果想只顯示序列,可以使用\ds
如果想只顯示試圖,可以使用\dv
顯示sql執行時間 \timing on
列出所有schema \dn
顯示所有的表空間 \db
列出資料庫中的所有角色或使用者: \du \dg PG中,使用者和角色不分。
列出表的許可權分配: \dp \z

指定字符集編譯的命令: \encoding
\encoding gbk \encoding utf8

設定輸出的格式:\pset
\pset border 0:輸出內容無邊框
\pset border 1:邊框只在內部
\pset border 2:內外都有邊框

\x :把表中的每一行的梅列資料都拆分成單行表示
postgres=# select * from test;

  • Record 1
    id 1
    name
  • Record 2
    id 1
    name 2

postgres=# \x
擴充套件顯示已關閉。
postgres=# select * from test;
id name


1
1 2
(2 行記錄)

\i 執行儲存在外部檔案中的sql語句或命令

\echo輸出一行資訊
postgres-# \echo hello
hello

預設,postgresql是自動提交的,可以避免自動提交
\set autocommit off