中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

postgreSQL數據庫中有哪些常用的postgres命令

發布時間:2021-01-12 14:35:00 來源:億速云 閱讀:791 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關postgreSQL數據庫中有哪些常用的postgres命令,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、修改用戶postgres的密碼

#alter user postgres with password ‘xxxx';(其中xxxx是修改的密碼)。

2、查看下當前schema的所有者:

// 查看當前schema的所有者,相當于\du元命令
SELECT n.nspname AS "Name",
 pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner"
FROM pg_catalog.pg_namespace n
WHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema'
ORDER BY 1;

3、查詢結果如圖所示,模式“abc”的所有者為postgresql用戶

針對模式“abc”, 使用超級管理員postgresql給普通用戶test授權,命令如下:

// 最后一條命令就是授予初始權限
grant select on all tables in schema abc to test;
grant usage on schema abc to test;
alter default privileges in schema abc 
#將表mytable,授權給testUser;
#GRANT SELECT ON TABLE mytable TO testUser;

4、查看默認權限

授權完成,通過pg_default_acl表查看默認權限:

// 查看初始權限
select * from pg_catalog.pg_default_acl;

5、把模式“abc”的擁有者(owner)修改為dbadmin用戶(可以事先創建好),執行以下命令:

// 修改模式“abc”擁有者為:dbadmin
ALTER SCHEMA abc OWNER TO "dbadmin";
// 查看模式的擁有者,相當于\du元命令
SELECT n.nspname AS "Name",
 pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner"
FROM pg_catalog.pg_namespace n
WHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema'
ORDER BY 1;

6、postgre查詢所有用戶,postgre中查詢用戶所擁有的權限

select * from pg_roles;
select * from pg_user;

權限查詢:

select * from information_schema.table_privileges where grantee='cc';

查看當前用戶的所有權限

select * from information_schema.table_privileges where grantee='user_name';

7、把適用于該對象的所有權限都賦予目標角色。

用特殊的名字 PUBLIC 把對象的權限賦予系統中的所有角色。 在權限聲明的位置上寫 ALL,表示把適用于該對象的所有權限都賦予目標角色。

beigang=# grantall on schema csm_ca to public;
GRANT
beigang=# revoke all on schema csm_ca frompublic;
REVOKE

8、先創建一個角色xxx,再創建一個超級用戶csm、普通用戶csm_ca,csm用戶創建一個數據庫testdb,在這個數據庫里創建一個schema:csm_ca,然后賦予普通用戶csm_ca操作數據庫testdb里schema:csm_ca里的表的權限。

#create role:
#create role xxx with superuser;
#Create user:
# create user csm with superuserpassword 'csm';
# create user csm_ca with password 'csm_ca';

9、超級用戶csm給普通用戶csm_ca授予操作schema csm_ca的權限

beigang=# grant all on schema csm_ca to csm_ca;
GRANT
beigang=# grant all on all tables in schema csm_ca to csm_ca;
GRANT

10、創建用戶

#創建普通用戶
postgres=# create user test encrypted password 'test';
#創建超級用戶
postgres=# create user test2 superuser;
#創建一個普通用戶,并且賦予相關權限
# create user test createdb createrole inherit password 'test';
#將超級用戶修改為普通用戶
# alter user test nosuperuser;
#修改用戶為超級用戶
postgres=# alter user test superuser;
#修改用戶密碼
postgres=# alter user test2 password 'test';
#修改用戶名
postgres=# alter user test2 rename to test3;
#鎖定/解鎖用戶,不允許/允許其登錄
postgres=# alter user test nologin;
postgres=# alter user test login;
#設置用戶的連接數,其中0表示不允許登錄,-1表示無限制
postgres=# alter user test connection limit 10;

11、授予用戶數據庫權限

GRANT ALL PRIVILEGES ON DATABASE 數據庫名 TO 用戶名;

12、授予用戶查看剛授權的數據庫的里面的表的權限

GRANT ALL PRIVILEGES ON TABLE 表名 TO 用戶名;

13、附帶一條:修改的表的類型

alter table 表名 alter 字段名 type 類型;

14、附帶一條:增加表新的字段

alter table 表名 add column 字段名 text(字段類型);

15、新增:設置主鍵自增

CREATE SEQUENCE user_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE 
NO MAXVALUE
CACHE 1;
 
alter table sys_user alter COLUMN id set DEFAULT nextval('user_id_seq');

16、新增:postgres創建B-Tree索引

-- create index '索引名' on '表名' ('需要索引的字段')
CREATE INDEX ip_store_inde on ip_store (ip_network);

添加各種約束

(1)、 添加主鍵

alter table goods add primary key(sid);

(2)、 添加外鍵

alter table orders add foreign key(goods_id) references goods(sid) on update cascade on delete cascade;

on update cascade:被引用行更新時,引用行自動更新;

on update restrict:被引用的行禁止更新;

on delete cascade:被引用行刪除時,引用行也一起刪除;

on dellete restrict:被引用的行禁止刪除;

(3). 刪除外鍵

alter table orders drop constraint orders_goods_id_fkey;

(4). 添加唯一約束

alter table goods add constraint unique_goods_sid unique(sid);

(5). 刪除默認值

alter table goods alter column sid drop default;

(6). 修改字段的數據類型

alter table goods alter column sid type character varying;

(7). 重命名字段

alter table goods rename column sid to ssid;

17、創建唯一鍵約束

constraint user_info_unique_userid unique(userid)

擴展

編輯配置文件

文件:postgresql.conf

位置:/var/lib/pgsql/data/postgresql.conf

添加/修改:在所有IP地址上監聽,從而允許遠程連接到數據庫服務器

listening_address: '*'

文件:pg_hba.conf

位置:/var/lib/pgsql/data/pg_hba.conf

添加/修改:允許任意用戶從任意機器上以密碼方式訪問數據庫,把下行添加為第一條規則:

host  all       all       0.0.0.0/0        md5

上述就是小編為大家分享的postgreSQL數據庫中有哪些常用的postgres命令了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

昌吉市| 额济纳旗| 沙洋县| 衡阳县| 漯河市| 崇文区| 雷州市| 靖州| 肇东市| 灵宝市| 车致| 通河县| 扶绥县| 乌恰县| 江阴市| 紫金县| 安顺市| 寿光市| 龙胜| 文安县| 静安区| 金门县| 当涂县| 全南县| 新泰市| 土默特右旗| 松原市| 子洲县| 来宾市| 分宜县| 全椒县| 陵川县| 隆安县| 新沂市| 巫山县| 卢湾区| 大关县| 洞头县| 都匀市| 衡水市| 阳东县|