postgreSql基礎命令及linux下postgreSql命令

來源:互聯網
上載者:User

標籤:blog   http   os   使用   io   檔案   ar   資料   art   

轉自:http://blog.csdn.net/qpengyanting123/article/details/7497556

(1)使用者公用程式: 
createdb 建立一個新的PostgreSQL的資料庫(和SQL語句:CREATE DATABASE 相同) 
createuser 建立一個新的PostgreSQL的使用者(和SQL語句:CREATE USER 相同) 
dropdb 刪除資料庫 
dropuser 刪除使用者 
pg_dump 將PostgreSQL資料庫匯出到一個指令檔 
pg_dumpall 將所有的PostgreSQL資料庫匯出到一個指令檔 
pg_restore 從一個由pg_dump或pg_dumpall程式匯出的指令檔中恢複PostgreSQL資料庫 
psql 一個基於命令列的PostgreSQL互動式用戶端程式 
vacuumdb 清理和分析一個PostgreSQL資料庫,它是用戶端程式psql環境下SQL語句VACUUM的shell指令碼封裝,二者功能完全相同 
(2)系統公用程式 
initdb 建立一個用於儲存資料庫的PostgreSQL資料目錄,並建立預定義的模板資料庫template0和template1,產生共用目錄表 catalog;此程式通常只在安裝PostgreSQL時運行一次 
initlocation 建立一個輔助的PostgreSQL資料庫儲存地區 
ipcclean 從停止的PostgreSQL伺服器中清除共用內在和孤立訊號標誌 
pg_ctl 啟動、停止、重啟PostgreSQL服務(比如:pg_ctl start 啟動PostgreSQL服務,它和service postgresql start相同) 
pg_controldata 顯示PostgreSQL服務的內部控制資訊 
postgres PostgreSQL單一使用者模式的資料庫服務 
postmaster PostgreSQL多使用者模式的資料庫服務 
4.這裡面最重要的是psql這個用戶端程式最為重要。啟用用戶端程式psql的方法是: 
切換到PostgreSQL預定義的資料庫超級使用者postgres,啟用用戶端程式psql,並串連到自己想要的資料庫,比如說: 
psql template1 
出現以下介面,說明已經進入到想要的資料庫,可以進行想要的操作了。 
template1=# 
5.在資料庫中的一些命令: 
template1=# \l 查看系統中現存的資料庫 
template1=# \q 退出用戶端程式psql 
template1=# \c 從一個資料庫中轉到另一個資料庫中,如template1=# \c sales 從template1轉到sales 
template1=# \dt 查看錶 
template1=# \d 查看錶結構 
template1=# \di 查看索引 
[基本資料庫操作]======================== 
*建立資料庫: 
create database [資料庫名]; 
*查看資料庫列表: 
\d 
*刪除資料庫: 
drop database [資料庫名];  
建立表: 
create table ([欄位名1] [類型1] <references 關聯表名(關聯的欄位名)>;,[欄位名2] [類型2],......<,primary key (欄位名m,欄位名n,...)>;); 
*查看錶名列表: 
\d 
*查看某個表的狀況: 
\d [表名] 
*重新命名一個表: 
alter table [表名A] rename to [表名B]; 
*刪除一個表: 
drop table [表名]; 
======================================== 
[表內基本操作]========================== 
*在已有的表裡添加欄位: 
alter table [表名] add column [欄位名] [類型]; 
*刪除表中的欄位: 
alter table [表名] drop column [欄位名]; 
*重新命名一個欄位:  
alter table [表名] rename column [欄位名A] to [欄位名B]; 
*給一個欄位設定預設值:  
alter table [表名] alter column [欄位名] set default [新的預設值]; 
*去除預設值:  
alter table [表名] alter column [欄位名] drop default; 
在表中插入資料: 
insert into 表名 ([欄位名m],[欄位名n],......) values ([列m的值],[列n的值],......); 
修改表中的某行某列的資料: 
update [表名] set [目標欄位名]=[目標值] where [該行特徵]; 
刪除表中某行資料: 
delete from [表名] where [該行特徵]; 
delete from [表名];--刪空整個表 
6.要注意隨時對資料庫進行清理、收回磁碟空間並更新統計資料,使用下面的命令就搞定! 
vaccumdb -d sales -z 
-a 對所有的資料庫操作 
-z 保證不斷地刪除失效的行,節約磁碟空間,將統計資訊更新為最近的狀態 
7.PostgreSQL使用者認證 
PostgreSQL資料目錄中的pg_hba.conf的作用就是使用者認證,可以在/var/lib/pgsql/data中找到。 
有以下幾個例子可以看看: 
(1)允許在本機上的任何身份串連任何資料庫 
TYPE DATABASE         USER     IP-ADDRESS    IP-MASK     METHOD 
local all             all                                 trust(無條件進行串連) 
(2)允許IP地址為192.168.1.x的任何主機與資料庫sales串連 
TYPE DATABASE         USER     IP-ADDRESS    IP-MASK     METHOD 
host sales            all      192.168.1.0    255.255.255.0 ident sameuser(表明任何作業系統使用者都能夠以同名資料庫使用者進行串連) 
8.看了那麼多,來一個完整的建立PostgreSQL資料庫使用者的樣本吧 
(1)進入PostgreSQL進階使用者 
(2)啟用用戶端程式,並進入template1資料庫 
psql template1 
(3)建立使用者 
template1=# CREATE USER hellen WITH ENCRYPED PASSWORD‘zhenzhen‘ 
(4)因為設定了密碼,所以要編輯pg_hba.conf,使使用者和設定檔同步。 
在原有記錄上面添加md5 
local    all    hellen      md5 
(4)使用新使用者登入資料庫 
template1=# \q 
psql -U hellen -d template1 
PS:在一個資料庫中如果要切換使用者,要使用如下命令: 
template1=# \!psql -U tk -d template1 
9.設定使用者特定的許可權 
還是要用例子來說明: 
建立一個使用者組: 
sales=# CREATE GROUP sale; 
添加幾個使用者進入該組 
sales=# ALTER GROUP sale ADD USER sale1,sale2,sale3; 
授予使用者級sale針對錶employee和products的SELECT許可權 
sales=# GRANT SELECT ON employee,products TO GROUP sale; 
在sale中將使用者user2刪除 
sales=# ALTER GROP sale DROP USER sale2; 
10.備份資料庫 
可以使用pg_dump和pg_dumpall來完成。比如備份sales資料庫: 
pg_dump sales>/home/tk/pgsql/backup/1.bak

postgreSql基礎命令及linux下postgreSql命令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.