postgresql 常用命令


(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)系統實用程序

1. pg_ctl 啟動、停止、重啟PostgreSQL服務(比如:pg_ctl start 啟動PostgreSQL服務,它和service postgresql start相同) 
2. pg_controldata 顯示PostgreSQL服務的內部控制信息 
3. psql 切換到PostgreSQL預定義的數據庫超級用戶postgres,啟用客戶端程序psql,並連接到自己想要的數據庫,比如說: 
psql template1 
出現以下界面,說明已經進入到想要的數據庫,可以進行想要的操作了。 
template1=#

(3).在數據庫中的一些命令:

template1=# \l 查看系統中現存的數據庫 
template1=# \q 退出客戶端程序psql 
template1=# \c 從一個數據庫中轉到另一個數據庫中,如template1=# \c sales 從template1轉到sales 
template1=# \dt 查看表 
template1=# \d 查看表結構 
template1=# \di 查看索引

[基本數據庫操作]========================

1. *創建數據庫: create database [數據庫名]; 
2. *查看數據庫列表: \d 
3. *刪除數據庫: . 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 [表名];--刪空整個表 ========================== ==========================

(4).PostgreSQL用戶認證

PostgreSQL數據目錄中的pg_hba.conf的作用就是用戶認證,可以在/usr/local/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(表明任何操作系統用戶都能夠以同名數據庫用戶進行連接)

(5).看了那么多,來一個完整的創建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

(6).設定用戶特定的權限

還是要用例子來說明: 
創建一個用戶組: 
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 GROUP sale DROP USER sale2;

(7).備份數據庫

可以使用pg_dump和pg_dumpall來完成。比如備份sales數據庫:

pg_dump sales>/home/tk/pgsql/backup/1.bak


免責聲明!

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



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