標籤:postgresql資料庫常用操作
資料庫連接:
方式一:
psql -U test_huishishuju -d test_huishishuju
參數說明: -U 資料庫使用者名稱 -d 資料庫名稱
方式二:
su – postgres
-bash-4.2$ psql 進入postgres資料庫
資料庫使用者管理:
建立使用者
postgres=# create user dev_huishishuju; 或者create role dev_huishishuju; 建立資料庫使用者
postgres=# alter user dev_huishishuju with password ‘123456‘; 修改資料庫使用者的密碼為123456
設定使用者權限
? 基本文法格式
CREATE或者ALTER ROLE role_name WITH optional_permissions(使用者的授權);
執行個體:
postgres=# alter user dev_huishishuju with superuser; 修改使用者的屬性,設定資料庫使用者dev_huishishuju為superuser
postgres=# alter user dev_huishishuju with login; 給資料庫使用者佈建登陸許可權
? 設定使用者權限的文法格式如下:
GRANT permission_type ON table_name TO role_name;
執行個體:
dev_huishishuju=# grant UPDATE ON t_sms TO rd_huishishuju ; 賦予使用者rd_huishishuju對t_sms表的update許可權
postgres=# grant SELECT on ALL tables in schema public to rd_huishishuju ; 賦予rd_huishishuju使用者對所有表有查詢許可權
dev_huishishuju=# grant ALL ON t_admin to rd_huishishuju ; 賦予rd_huishishuju使用者對t_admin資料庫表擁有所有許可權
進入資料庫的常用操作:
test_huishishuju=> \help 協助命令
test_huishishuju=> \l 顯示詳細的資料庫資訊
test_huishishuju=> \c postgres 切換postgres資料庫
test_huishishuju=> \dt 或者\d 列舉所在資料庫的表,相當於show databases
test_huishishuju=> \d t_sms 查看t_sms表的結構
test_huishishuju=> \di 查看資料庫表的索引
test_huishishuju-# \du 列出所有的使用者資訊
test_huishishuju-# \connect 列出當前資料庫的串連資訊
test_huishishuju-# \conninfo 列出當前資料庫和串連的詳細資料
test_huishishuju=# \q 退出當前操作
dev_huishishuju=# \dp或者\z 顯示使用者的對所有資料庫表的詳細存取權限
資料庫管理:
postgres=# create database beiyi; 建立資料庫beiyi
postgres=# drop database beiyi; 刪除資料庫beiyi
postgres=# alter database dev_huishishuju OWNER TO dev_huishishuju ; 修改資料庫的使用者歸屬
表管理:
postgres=# \c beiyi 切換到beiyi資料庫
beiyi=# create table user_beiyi(name VARCHAR(20), signup_date DATE); 建立user_beiyi表
beiyi=# INSERT INTO user_beiyi (name, signup_date) VALUES(‘張三‘, ‘2013-12-22‘); user_beiyi表中插入資料
test_huishishuju-# alter table test_huishishuju add column name character varying(16); 在表test_huishishuju裡添加欄位,說明:name為欄位名,character varying(16)為欄位類型
beiyi-# dorp table user_beiyi 刪除資料庫表user_beiyi
資料庫表的備份與恢複:
#pg_dump -h 192.168.2.242 -U postgres -p 5432 -t t_sms dev_huishishuju > t_sms.db
pg_dump -h 192.168.2.242 -U postgres -p 5432 -c --if-exists -t t_sms dev_huishishuju > t_sms.db 遠程備份
-bash-4.2$ psql -f t_sms.db -d test_huishishuju 切換postgres使用者,還原必須要保證有許可權
資料庫的備份與還原
pg_dump -h 192.168.2.242 -U postgres -p 5432 -c --if-exists dev_huishishuju > dev_huishishuju.sql 備份192.168.2.242資料庫上的dev_huishishuju資料庫
-bash-4.2$ psql -f dev_huishishuju.sql -d dev_huishishuju 還原資料庫,dev_huishishuju.sql為備份檔案,dev_huishishuju為新建立的資料庫
postgresql資料庫常規操作管理