2016年7月4日 星期一

Psql 基本操作方式(一)

基本操作方式(一)-- 外部操作
  • 切換成 postgres 使用者:
    #su - postgres
    
  • 資料庫查詢:
    $psql -l
    
  • 直接連結指定的資料庫:
    (指定的格式: psql -h [主機IP或名稱] -p [port 號] [資料庫名稱] [使用者名稱])
    $psql -h 192.168.5.104 -p 5432 student postgres
    用戶 postgres 的密碼:
    psql (9.2.15)
    輸入 "help" 顯示說明。
    
    student=#
    

    另一種直接連結指定資料庫的方式:
    $export PGDATABASE=student
    $export PGHOST=192.168.5.104
    $export PGPORT=5432
    $export PGUSER=postgres
    $psql
    密碼:
    psql (9.2.15)
    輸入 "help" 顯示說明。
    
    student=#
    

基本操作方式(二)-- Psql 介面操作
  • 進入 psql 操作介面方式:
    #su - postgres
    $psql
    postgres=#
    
    (上列的 postgres 是指 postgres 資料庫!)
    
  • 利用 help 可顯示說明:
    postgres=# help
    您正在使用 PostgreSQL 指令列介面 psql。
    輸入: \copyright 顯示發行條款
           \h 顯示 SQL 指令的說明
           \? 顯示 psql 指令的說明
           \g 或者以分號 (;) 結尾以執行查詢
           \q 結束
    postgres=#
    
  • 切換資料庫:
    postgres=# \c student
    已經連線到資料庫 "student",使用者 "postgres"。
    
    student=#
    
  • 資料表查詢:
    student=# \d baselist
              資料表 "public.baselist"
      欄位   |          型別          | 修飾詞
    ---------+------------------------+---------
     id      | character varying(12)  | 非 Null
     name    | character varying(50)  | 非 Null
     phones  | character varying(11)  | 非 Null
     address | character varying(200) | 非 Null
    索引:
        "baselist_pkey" PRIMARY KEY, btree (id)
    
    
  • 索引 Key 查詢:
    student=# \d baselist_pkey
         索引 "public.baselist_pkey"
     欄位 |         型別          | 定義
    ------+-----------------------+------
     id   | character varying(12) | id
    主鍵, btree, 給資料表 "public.baselist"
    
    
  • 可配合萬用字元查詢:
    student=# \d b*
              資料表 "public.baselist"
      欄位   |          型別          | 修飾詞
    ---------+------------------------+---------
     id      | character varying(12)  | 非 Null
     name    | character varying(50)  | 非 Null
     phones  | character varying(11)  | 非 Null
     address | character varying(200) | 非 Null
    索引:
        "baselist_pkey" PRIMARY KEY, btree (id)
    
         索引 "public.baselist_pkey"
     欄位 |         型別          | 定義
    ------+-----------------------+------
     id   | character varying(12) | id
    主鍵, btree, 給資料表 "public.baselist"
    
    student=#
    
  • 開啟計時功能:
    student=# \timing on
    啟用計時功能.
    student=# select * from baselist;
     id | name | phones | address
    ----+------+--------+---------
    (0 筆資料列)
    
    時間: 1.482 ms
    
  • 列出所有可用的 schema:
    student=# \dn
        schema 清單
      名稱  |  擁有者
    --------+----------
     public | postgres
    (1 筆資料列)
    
    
  • 顯示可用的 tablespace :
    student=# \db
               表空間列表
        名稱    |  擁有者  | 所在地
    ------------+----------+--------
     pg_default | postgres |
     pg_global  | postgres |
    (2 筆資料列)
    
  • 顯示角色、使用者:
    student=# \du
                            角色清單
     角色名稱 |               屬性                | 成員屬於
    ----------+-----------------------------------+----------
     postgres | 超級用戶, 建立角色, 建立 DB, 複製 | {}
    
    student=# \dg
                            角色清單
     角色名稱 |               屬性                | 成員屬於
    ----------+-----------------------------------+----------
     postgres | 超級用戶, 建立角色, 建立 DB, 複製 | {}
    
    
  • 表格存取權限情況:
    student=# \dp baselist
                            存取權限
     架構模式 |   名稱   | 型別  | 存取權限 | 資料行存取權限
    ----------+----------+-------+----------+----------------
     public   | baselist | table |          |
    (1 筆資料列)
    
    
  • 離開 psql 操作介面:
    postgres=# \q