本文是PostgreSQL修煉之道這本書的學習筆記,記錄下疑惑或不解的地方.
這里也列一些資源:
官方文檔:http://www.postgresql.org/files/documentation/pdf/9.4/postgresql-9.4-A...
中文文檔:http://www.php100.com/manual/PostgreSQL8/
阮一峰的博客:http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql...
====
ubuntu下安裝很簡單:
sudo apt-get install postgresql
安裝完成后哦系統自動創建了一個系統用戶,也是postgresql的超級用戶,無需密碼即可登錄到數據庫.
如果還想安裝圖形管理界面:
sudo apt-get install pgadmin3
可以很清楚看到所創建的數據庫和表,就像這樣:
現在進入系統用戶postgres下:
sudo su - postgres
然后連接到數據庫:
$psql
如果想創建一個新的數據庫用戶可以這樣做:
sudo adduser dbuser
在系統中創建一個新用戶.
sudo su - postgres
要切換到postgres用戶下為這個新用戶dbuser創建數據庫.
$psql
如果一切正常,系統提示符會變為”postgres=#”,表示這時已經進入了數據庫控制臺。以下的命令都在控制臺內完成。
在這里創建dbuser數據庫用戶
CREATE USER dbuser WITH PASSWORD "password";
注意結尾一定要加封號";"
然后創建dbuser數據庫用戶的一個數據庫,這里為exampledb,并指定所有者為dbuser.
CREATE DATABASE exampledb OWNER dbuser;
最后是將exampledb的所有權限都賦予dbuser,否則dbuser只能登錄控制臺沒有任何數據庫操作權限.
GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;
最后使用q退出控制臺
3. 登錄數據庫在創建了某個系統用戶的某個數據庫用戶的某個數據庫之后.我們現在要登錄她;
使用以下命令:
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
我試過了在ubuntu的不同系統下都可以通過這種方式,登錄一個數據庫.
當然如果你要登錄的額數據庫就在你現在系統下,可以簡單使用psql exampledb登錄.
更簡單的如果在你的用戶名叫做dbuser,數據庫也叫dbuser,那么在dbuser用戶下就使用psql就可以一步登錄dbuser數據庫.
這樣幾個包含關系用文字描述不太清楚,之后用圖表來表示一下,先放在這里.
4. psql工具的使用介紹:============
使用psql可以允許你交互地輸入SQL命令,類似與ORACLE里的sqlplus一樣.
在dbuser用戶下進入example數據庫.
sudo su - dbuser psql exampledb
效果如下:
查看數據庫信息
psql -l
當然也可以在psql命令行地下使用l查看
$psql exampledb exampledb=>l
使用d可以查看該數據庫下表的信息:
exampledb=>d
創建數據庫:
目測創建一個數據庫是超級用戶的權限,其他數據庫用戶沒有這個權限.
所以先返回postgres系統用戶下:
$su - postgres
進入數據庫用戶postgres:
$psql #CREATE DATABAE testdb OWNER dbuser;4.2 psql常用命令:
先列出來:
d
dn
db
dg
du
dp
encoding
pset
x
echo
?
4.2.1.d命令
如果什么都不帶,d列出當前數據庫中的所有表;
例如在postgres數據庫中:
postgres=#d
2.d后面加表名
d score
3.d也可以顯示索引信息
d t_pkey
4.d后面加通配符?和*
d score* d score?
5.d+顯示比d更多的信息,除了之前的那些,還有與表列一切相關連的注釋,以及表中出現的OID.
d+ score
6.匹配不同對象類型的d命令(還沒用過)
如果只想顯示匹配的表,可以使用
dt命令;
如果想只顯示索引,可以使用di命令;
如果想只顯示序列,可以使用ds命令;
如果想只顯示視圖,可以使用df命令;
如果想只顯示函數,可以使用df命令;
7.如果想顯示SQL已執行的時間,可以用 iming命令,實例:
# iming on #select count(*) from score;
8.列出所有schema可以使用dn
#dn
9.顯示所有表空間可以用db命令
#\db`請輸入代碼`
10.列出數據庫的所喲角色或用戶
#du或#dg
11.顯示表的權限分配
#dp或z
4.2.2指定字符集編譯的命令
當客戶端的字符編碼與服務其的不一樣是,可能會顯示亂碼,可以使用encoding 指定客戶端的字符編碼,如encoding gbk;encoding utf-8;
4.2.3pset命令
\pset命令用于設置輸出的格式 pset border 0:輸出內容無
4.2.4\x命令
把表中的每一行數據都拆分為單行展示
#x
4.2.5執行儲存在外部文件中的SQL命令
/i<文件名>執行存儲在外部文件中的sql語句或命令.如下:
#i getrunsql
發現該書中的一個錯誤.
4.2.6顯示信息的命令:
echo hello world #hello world
這個命令通常在使用.sh腳本的文件中輸出一些提示信息.
比如,某一個文件a.sql有一下內容:
echo=======================
select * from xl;
echo=======================
4.2.7更多命令
\?可以用來查詢其他所有命令:
#\?
4.2.8psql的使用技巧和注意事項
歷史命令補全:
連按兩個Tab鍵
#d <-----這里連按兩個Tab鍵
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38926.html
摘要:最近研究基于的開源框架,其中構建需要使用插件。為例,安裝以下包即可系列則請安裝初次安裝后,默認生成一個名為的數據庫和一個名為的數據庫用戶。注意,不要往這個數據庫中添加數據,這個數據庫之所以稱為模板,就說明它是用來派生用的。 最近研究基于 GeoServer 的開源 GIS 框架,其中構建 GIS database 需要使用 PostgreSQL + PostGIS 插件。花了些時間學習...
摘要:最近研究基于的開源框架,其中構建需要使用插件。為例,安裝以下包即可系列則請安裝初次安裝后,默認生成一個名為的數據庫和一個名為的數據庫用戶。注意,不要往這個數據庫中添加數據,這個數據庫之所以稱為模板,就說明它是用來派生用的。 最近研究基于 GeoServer 的開源 GIS 框架,其中構建 GIS database 需要使用 PostgreSQL + PostGIS 插件。花了些時間學習...
摘要:首先是安裝來源一安裝首先,安裝客戶端。正常情況下,安裝完成后,服務器會自動在本機的端口開啟。如果一切正常,系統提示符會變為,表示這時已經進入了數據庫控制臺。命令存在簡寫形式。列出某一張表格的結構。 首先是安裝PostgreSQL 來源:http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html...
閱讀 2556·2023-04-25 20:05
閱讀 2885·2023-04-25 17:56
閱讀 2195·2021-10-14 09:49
閱讀 2679·2019-08-29 15:10
閱讀 2922·2019-08-29 12:25
閱讀 416·2019-08-28 18:23
閱讀 756·2019-08-26 13:26
閱讀 1370·2019-08-23 18:21