主頁(yè) > 知識(shí)庫(kù) > postgreSQL數(shù)據(jù)庫(kù)默認(rèn)用戶(hù)postgres常用命令分享

postgreSQL數(shù)據(jù)庫(kù)默認(rèn)用戶(hù)postgres常用命令分享

熱門(mén)標(biāo)簽:移動(dòng)外呼系統(tǒng)模擬題 電話機(jī)器人怎么換人工座席 天津開(kāi)發(fā)區(qū)地圖標(biāo)注app 電銷(xiāo)機(jī)器人能補(bǔ)救房產(chǎn)中介嗎 廣州電銷(xiāo)機(jī)器人公司招聘 江蘇400電話辦理官方 地圖標(biāo)注要花多少錢(qián) 濟(jì)南外呼網(wǎng)絡(luò)電話線路 400電話申請(qǐng)客服

1、修改用戶(hù)postgres的密碼

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

2、查看下當(dāng)前schema的所有者:

// 查看當(dāng)前schema的所有者,相當(dāng)于\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、查詢(xún)結(jié)果如圖所示,模式“abc”的所有者為postgresql用戶(hù)

針對(duì)模式“abc”, 使用超級(jí)管理員postgresql給普通用戶(hù)test授權(quán),命令如下:

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

4、查看默認(rèn)權(quán)限

授權(quán)完成,通過(guò)pg_default_acl表查看默認(rèn)權(quán)限:

// 查看初始權(quán)限
select * from pg_catalog.pg_default_acl;

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

// 修改模式“abc”擁有者為:dbadmin
ALTER SCHEMA abc OWNER TO "dbadmin";
// 查看模式的擁有者,相當(dāng)于\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查詢(xún)所有用戶(hù),postgre中查詢(xún)用戶(hù)所擁有的權(quán)限

select * from pg_roles;
select * from pg_user;

權(quán)限查詢(xún):

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

查看當(dāng)前用戶(hù)的所有權(quán)限

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

7、把適用于該對(duì)象的所有權(quán)限都賦予目標(biāo)角色。

用特殊的名字 PUBLIC 把對(duì)象的權(quán)限賦予系統(tǒng)中的所有角色。 在權(quán)限聲明的位置上寫(xiě) ALL,表示把適用于該對(duì)象的所有權(quán)限都賦予目標(biāo)角色。

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

8、先創(chuàng)建一個(gè)角色xxx,再創(chuàng)建一個(gè)超級(jí)用戶(hù)csm、普通用戶(hù)csm_ca,csm用戶(hù)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)testdb,在這個(gè)數(shù)據(jù)庫(kù)里創(chuàng)建一個(gè)schema:csm_ca,然后賦予普通用戶(hù)csm_ca操作數(shù)據(jù)庫(kù)testdb里schema:csm_ca里的表的權(quán)限。

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

9、超級(jí)用戶(hù)csm給普通用戶(hù)csm_ca授予操作schema csm_ca的權(quán)限

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、創(chuàng)建用戶(hù)

#創(chuàng)建普通用戶(hù)
postgres=# create user test encrypted password 'test';
#創(chuàng)建超級(jí)用戶(hù)
postgres=# create user test2 superuser;
#創(chuàng)建一個(gè)普通用戶(hù),并且賦予相關(guān)權(quán)限
# create user test createdb createrole inherit password 'test';
#將超級(jí)用戶(hù)修改為普通用戶(hù)
# alter user test nosuperuser;
#修改用戶(hù)為超級(jí)用戶(hù)
postgres=# alter user test superuser;
#修改用戶(hù)密碼
postgres=# alter user test2 password 'test';
#修改用戶(hù)名
postgres=# alter user test2 rename to test3;
#鎖定/解鎖用戶(hù),不允許/允許其登錄
postgres=# alter user test nologin;
postgres=# alter user test login;
#設(shè)置用戶(hù)的連接數(shù),其中0表示不允許登錄,-1表示無(wú)限制
postgres=# alter user test connection limit 10;

11、授予用戶(hù)數(shù)據(jù)庫(kù)權(quán)限

GRANT ALL PRIVILEGES ON DATABASE 數(shù)據(jù)庫(kù)名 TO 用戶(hù)名;

12、授予用戶(hù)查看剛授權(quán)的數(shù)據(jù)庫(kù)的里面的表的權(quán)限

GRANT ALL PRIVILEGES ON TABLE 表名 TO 用戶(hù)名;

13、附帶一條:修改的表的類(lèi)型

alter table 表名 alter 字段名 type 類(lèi)型;

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

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

15、新增:設(shè)置主鍵自增

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創(chuàng)建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:被引用行更新時(shí),引用行自動(dòng)更新;

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

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

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). 刪除默認(rèn)值

alter table goods alter column sid drop default;

(6). 修改字段的數(shù)據(jù)類(lèi)型

alter table goods alter column sid type character varying;

(7). 重命名字段

alter table goods rename column sid to ssid;

17、創(chuàng)建唯一鍵約束

constraint user_info_unique_userid unique(userid)

擴(kuò)展

編輯配置文件

文件:postgresql.conf

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

添加/修改:在所有IP地址上監(jiān)聽(tīng),從而允許遠(yuǎn)程連接到數(shù)據(jù)庫(kù)服務(wù)器:

listening_address: '*'

文件:pg_hba.conf

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

添加/修改:允許任意用戶(hù)從任意機(jī)器上以密碼方式訪問(wèn)數(shù)據(jù)庫(kù),把下行添加為第一條規(guī)則:

host  all       all       0.0.0.0/0        md5

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgresql中的ltree類(lèi)型使用方法
  • PostgreSQL 恢復(fù)誤刪數(shù)據(jù)的操作
  • SpringBoot連接使用PostgreSql數(shù)據(jù)庫(kù)的方法
  • 在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法

標(biāo)簽:辛集 濮陽(yáng) 杭州 昭通 海西 寶雞 溫州 榆林

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《postgreSQL數(shù)據(jù)庫(kù)默認(rèn)用戶(hù)postgres常用命令分享》,本文關(guān)鍵詞  postgreSQL,數(shù)據(jù)庫(kù),默認(rèn),用戶(hù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《postgreSQL數(shù)據(jù)庫(kù)默認(rèn)用戶(hù)postgres常用命令分享》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于postgreSQL數(shù)據(jù)庫(kù)默認(rèn)用戶(hù)postgres常用命令分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章