溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

postgresql數(shù)據(jù)庫常規(guī)操作管理

發(fā)布時間:2020-07-16 18:25:10 來源:網(wǎng)絡(luò) 閱讀:1696 作者:JamieYang86 欄目:數(shù)據(jù)庫

數(shù)據(jù)庫連接:
方式一:

psql -U test_huishishuju -d test_huishishuju

參數(shù)說明: -U 數(shù)據(jù)庫用戶名 -d 數(shù)據(jù)庫名稱
方式二:

su – postgres

-bash-4.2$ psql       進入postgres數(shù)據(jù)庫

數(shù)據(jù)庫用戶管理:
創(chuàng)建用戶
postgres=# create user dev_huishishuju; 或者create role dev_huishishuju; 創(chuàng)建數(shù)據(jù)庫用戶
postgres=# alter user dev_huishishuju with password '123456'; 修改數(shù)據(jù)庫用戶的密碼為123456

設(shè)置用戶權(quán)限
? 基本語法格式
CREATE或者ALTER ROLE role_name WITH optional_permissions(用戶的授權(quán));

實例:
postgres=# alter user dev_huishishuju with superuser; 修改用戶的屬性,設(shè)置數(shù)據(jù)庫用戶dev_huishishuju為superuser
postgres=# alter user dev_huishishuju with login; 給數(shù)據(jù)庫用戶設(shè)置登陸權(quán)限

? 設(shè)置用戶權(quán)限的語法格式如下:
GRANT permission_type ON table_name TO role_name;

實例:
dev_huishishuju=# grant UPDATE ON t_sms TO rd_huishishuju ; 賦予用戶rd_huishishuju對t_sms表的update權(quán)限
postgres=# grant SELECT on ALL tables in schema public to rd_huishishuju ; 賦予rd_huishishuju用戶對所有表有查詢權(quán)限
dev_huishishuju=# grant ALL ON t_admin to rd_huishishuju ; 賦予rd_huishishuju用戶對t_admin數(shù)據(jù)庫表擁有所有權(quán)限

進入數(shù)據(jù)庫的常用操作:
test_huishishuju=> \help 幫助命令
test_huishishuju=> \l 顯示詳細的數(shù)據(jù)庫信息
test_huishishuju=> \c postgres 切換postgres數(shù)據(jù)庫
test_huishishuju=> \dt 或者\d 列舉所在數(shù)據(jù)庫的表,相當于show databases
test_huishishuju=> \d t_sms 查看t_sms表的結(jié)構(gòu)
test_huishishuju=> \di 查看數(shù)據(jù)庫表的索引
test_huishishuju-# \du 列出所有的用戶信息
test_huishishuju-# \connect 列出當前數(shù)據(jù)庫的連接信息
test_huishishuju-# \conninfo 列出當前數(shù)據(jù)庫和連接的詳細信息
test_huishishuju=# \q 退出當前操作
dev_huishishuju=# \dp或者\z 顯示用戶的對所有數(shù)據(jù)庫表的詳細訪問權(quán)限
數(shù)據(jù)庫管理:
postgres=# create database beiyi; 創(chuàng)建數(shù)據(jù)庫beiyi
postgres=# drop database beiyi; 刪除數(shù)據(jù)庫beiyi
postgres=# alter database dev_huishishuju OWNER TO dev_huishishuju ; 修改數(shù)據(jù)庫的用戶歸屬

表管理:
postgres=# \c beiyi 切換到beiyi數(shù)據(jù)庫
beiyi=# create table user_beiyi(name VARCHAR(20), signup_date DATE); 創(chuàng)建user_beiyi表
beiyi=# INSERT INTO user_beiyi (name, signup_date) VALUES('張三', '2013-12-22'); user_beiyi表中插入數(shù)據(jù)
test_huishishuju-# alter table test_huishishuju add column name character varying(16); 在表test_huishishuju里添加字段,說明:name為字段名,character varying(16)為字段類型
beiyi-# dorp table user_beiyi 刪除數(shù)據(jù)庫表user_beiyi

數(shù)據(jù)庫表的備份與恢復:
#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用戶,還原必須要保證有權(quán)限

數(shù)據(jù)庫的備份與還原

pg_dump -h 192.168.2.242 -U postgres -p 5432 -c --if-exists dev_huishishuju > dev_huishishuju.sql 備份192.168.2.242數(shù)據(jù)庫上的dev_huishishuju數(shù)據(jù)庫

-bash-4.2$ psql -f dev_huishishuju.sql -d dev_huishishuju 還原數(shù)據(jù)庫,dev_huishishuju.sql為備份文件,dev_huishishuju為新創(chuàng)建的數(shù)據(jù)庫

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI