PostgreSQL windows創建用戶


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM