D:\PostgreSQL\9.3\bin>createuser.exe -U postgres -P baixyu
為新角色輸入的口令:
再輸入一遍:
口令:
該例子創建了一個baixyu的角色,注意這里面不是用戶,而是角色,U選項指出了你想要建立的新用戶的編號。必須是PostgreSQL的用戶才能建立用戶,通常情況下就是postgres用戶。-P選項通知createuser提示輸入新用戶的密碼。
需要為創建的角色賦予創建數據庫的權限
CREATE ROLE baixyu LOGIN
ENCRYPTED PASSWORD 'md50cdfd0736eaacd81a5a3b192623f8f90'
NOSUPERUSER INHERIT CREATEDB NOCREATEROLE NOREPLICATION;
使用
D:\PostgreSQL\9.3\bin>createdb.exe -U baixyu test
口令:
最終對應的實際sql語句如下,看到默認表空間是pg_default
CREATE DATABASE test
WITH OWNER = baixyu
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'Chinese (Simplified)_People''s Republic of China.936'
LC_CTYPE = 'Chinese (Simplified)_People''s Republic of China.936'
CONNECTION LIMIT = -1;
創建數據庫后,使用下面的命令登陸數據庫
D:\PostgreSQL\9.3\bin>psql -U baixyu -d test
用戶 baixyu 的口令:
psql (9.3.5)
輸入 "help" 來獲取幫助信息.
test=>
切換不同的數據庫
test=> \c postgres
您現在已經連線到數據庫 "postgres",用戶 "baixyu".
postgres=>
可以創建用戶私有的數據庫
create user fred password fred;
create database fred owner=fred;
這個並不是說這個庫不能被別的用戶連接,只是這個角色有了登錄的權限
psql的一些參數
| 選項 |
意義 |
| -a |
從腳本中響應所有輸入 |
| -A |
取消表數據輸出的對齊模式;功能與“-P format=unaligned”相同 |
| -c <查詢> |
僅僅運行一個簡單的查詢(或者內部命令)然后退出 |
| -d <數據庫名> |
指定連接到的數據庫名(默認為$PGDATABASE或者當前登錄用戶名) |
| -e |
回顯發送到服務器的查詢 |
| -E |
顯示內部命令生成的查詢語句 |
| -f <文件名> |
執行一個文件中的查詢,然后退出 |
| -F <字符串> |
指定列數據顯示分隔符(默認為“|”);功能與“-P fieldsep=<字符串>”相同 |
| -h <主機> |
指定數據庫服務器主機(默認為$PGHOST或者本地主機) |
| -H |
設置表格輸出模式為HTML;功能與“-P format=html”相同 |
| --help |
顯示幫助,然后退出 |
| -l |
列出存在的數據庫,然后退出 |
| -n |
禁用readline;阻止行編輯 |
| -o <文件名> |
將查詢的輸出發送到文件名指定文件(使用“|管道”的形式將輸出發送到一個過濾程序) |
| -p <端口> |
指定數據庫服務器的端口(默認為$PGPORT或者編譯期設置的默認值,通常為4321) |
| -P var[=arg] |
設置打印選項var為arg(查看\pset命令) |
| -q |
以靜默方式運行(沒有任何消息,僅有查詢的輸出) |
| -R <字符串> |
設置記錄的分隔符(默認為換行);功能與“-P recordsep=<字符串>”相同 |
| -s |
設置為單步執行模式(每條查詢都需要確認) |
| -S |
設置單行模式(每行結束就認為查詢輸入結束,而不是分號) |
| -t |
只打印行;功能與“-P tuples_only”相同 |
| -T <文本> |
設置HTML表格標記選項(width,border等);功能與“-P tableattr=<text>”相同 |
| -U <用戶名> |
指定數據庫用戶(默認為$PGUSER或者當前登錄的用戶名) |
| -v name=value |
設置psql變量name的值為value |
| --version |
顯示版本信息然后退出,也可以用“-V” |
| -W |
強制提示輸入密碼(如果需要密碼,會自動執行) |
| -x |
開啟擴展表格輸出;功能與“-P expanded”相同 |
| -X |
不讀取啟動文件(~/.psqlrc) |
psql內部命令
| 命令 |
意義 |
| \? |
列出所有的psql內部命令 |
| \a |
在表格對齊和非對齊模式之間切換。 |
| \c[onnect] [dbname|- [user]] |
連接到新的數據庫;使用“-”作為數據庫名指連接到默認數據庫。可以user身份連接數據庫 |
| \C <標題> |
設置輸出表格的標題;功能與“\pset 標題”相同 |
| \cd <目錄> |
改變工作目錄 |
| \copy … |
Perform SQL COPY with data stream to the client machine. |
| \copyright |
顯示PostgreSQL的使用和發布條款 |
| \d <表> |
描述表(或者視圖、索引、序列生成器) |
| \d{t|i|s|v} |
列出表/索引/序列生成器/視圖 |
| \d{p|S|l} |
列出訪問許可/系統表/大對象 |
| \da |
列出聚合體(aggregates) |
| \db |
列出表空間 |
| \dc |
列出conversions |
| \dC |
列出casts |
| \dd [對象] |
列出表、類型、函數或者操作的注釋 |
| \dD |
列出domains |
| \df |
列出函數(自定義函數???)需要驗證 |
| \dg |
列出groups |
| \dl |
列出大對象;也可以寫作“\lo_list” |
| \dn |
列出模式 |
| \do |
列出operators |
| \dT |
列出數據類型 |
| \du |
列出用戶 |
| \e [file] |
使用外部編輯器編輯當前的查詢緩沖區或者file指定的文件 |
| \echo <文本> |
將文本打印到標准輸出 |
| \encoding <編碼> |
設置客戶端編碼 |
| \f <分隔符> |
修改輸出字段的分隔符 |
| \g [文件名] |
將查詢的結果發送到后端(結果輸出到文件或者|管道) |
| \h [命令] |
顯示SQL命令的幫助;*表示所有命令的詳細說明 |
| \H |
開啟HTML模式 |
| \i <文件名> |
從文件中讀取並執行查詢 |
| \l |
列出所有的數據庫 |
| \lo_export,\lo_import, \lo_list,\lo_unlink |
執行大對象操作 |
| \o [文件名] |
將所有的查詢結果發送到文件或者|管道 |
| \p |
顯示當前查詢緩沖區的內容 |
| \pset <選項> |
設置表輸出選項,可設置的選項可以是以下中的一個:format,border,expanded,fieldsep,footer,null,recordsep,tuples_only,title,tableattr,pager |
| \q |
退出psql |
| \qecho <文本> |
將文本寫入到查詢輸出流(參考\o命令) |
| \r |
重置(清空)查詢緩沖區 |
| \s [文件名] |
打印歷史或將歷史存入文件中 |
| \set <變量> <值> |
設置內部變量 |
| \t |
只顯示行(在該模式之間切換) |
| \T <標記> |
設置HTML表格的標記;功能和“\pset tableattr”相同 |
| \timing |
顯示命令執行的時間(在顯示和不顯示這兩種模式間切換) |
| \z |
列出對表、視圖和序列生成器的訪問許可 |
| \! [命令] |
切換到shell或者執行一個shell命令 |
轉載於:https://my.oschina.net/u/1018220/blog/833035
