婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > postgresql限制某個用戶僅連接某一個數據庫的操作

postgresql限制某個用戶僅連接某一個數據庫的操作

熱門標簽:地圖標注和圖片名稱的區別 打電話智能電銷機器人授權 海豐有多少商家沒有地圖標注 重慶自動外呼系統定制 外呼調研系統 辦公外呼電話系統 合肥公司外呼系統運營商 美容工作室地圖標注 漯河外呼電話系統

創建數據庫bbb且owner為用戶b:

postgres9.6@[local]:5432 postgres# create database bbb owner b;
CREATE DATABASE
Time: 259.099 ms

默認情況下使用用戶c也可以連接數據庫bbb:

postgres9.6@[local]:5432 postgres# \c bbb c
You are now connected to database "bbb" as user "c".

回收public的connect on database bbb權限:

c@[local]:5432 bbb# \c postgres postgres9.6
You are now connected to database "postgres" as user "postgres9.6".
postgres9.6@[local]:5432 postgres# revoke connect on database bbb from public;
REVOKE
Time: 2.088 ms

此時用戶c沒有了連接數據庫bbb的權限:

postgres9.6@[local]:5432 postgres# \c bbb c
FATAL: permission denied for database "bbb"
DETAIL: User does not have CONNECT privilege.
Previous connection kept

但bbb數據庫的owner用戶b可以連接數據庫:

postgres9.6@[local]:5432 postgres# \c bbb b
You are now connected to database "bbb" as user "b".
b@[local]:5432 bbb# 

此種情況下超級用戶也可以連接該數據庫:

b@[local]:5432 bbb# \c bbb postgres9.6
You are now connected to database "bbb" as user "postgres9.6".
postgres9.6@[local]:5432 bbb# 
postgres9.6@[local]:5432 bbb# \du
                  List of roles
 Role name |             Attributes             | Member of 
-------------+------------------------------------------------------------+-----------
 a      |                              | {}
 b      |                              | {}
 c      |                              | {}
 postgres9.6 | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

另外一種方法:從pg_hba.conf中限定:

 # TYPE DATABASE    USER      ADDRESS         METHOD
# "local" is for Unix domain socket connections only
local  all       all                  trust 
# IPv4 local connections:
host  all       all       127.0.0.1/32      trust
...
#
host  all  all        0.0.0.0/0       md5

補充:Postgres限制每個用戶只能連接指定數量的session,防止服務器資源緊張

限制每個用戶只能連接指定數量的session,防止服務器資源緊張

(1)創建測試用戶test:

highgo=#create user test;
CREATEROLE
highgo=#\du
               List of roles
 Role name |          Attributes          | Member of
-----------+------------------------------------------------+----------
 highgo  | Superuser, Create role, Create DB, Replication | {}
 test   |                        | {}

(2)設置僅允許用戶test使用一個連接

highgo=#ALTER ROLE test CONNECTION LIMIT 1;
ALTERROLE

(3)在session 1中使用test用戶連接highgo數據庫

highgo=>\c highgo test
Youare now connected to database "highgo" as user "test".
highgo=>

(4)在session 2中也使用test用戶連接highgo數據庫,會出現如下錯誤:

highgo=#\c highgo test
致命錯誤: 由角色"test"發起的連接太多了
Previousconnection kept

(5)查詢用戶test鏈接限制

highgo=>SELECT rolconnlimit FROM pg_roles WHERE rolname = 'test';
 rolconnlimit
--------------
      1
(1row)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgresql修改完端口后直接psql連接數據庫報錯的解決
  • 啟動PostgreSQL服務器 并用pgAdmin連接操作
  • SpringBoot連接使用PostgreSql數據庫的方法
  • 解決postgreSql遠程連接數據庫超時的問題
  • navicat無法連接postgreSQL-11的解決方案
  • postgreSQL中的內連接和外連接實現操作

標簽:株洲 晉城 錦州 蚌埠 珠海 烏海 來賓 衡陽

巨人網絡通訊聲明:本文標題《postgresql限制某個用戶僅連接某一個數據庫的操作》,本文關鍵詞  postgresql,限制,某個,用戶,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《postgresql限制某個用戶僅連接某一個數據庫的操作》相關的同類信息!
  • 本頁收集關于postgresql限制某個用戶僅連接某一個數據庫的操作的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 灵丘县| 安仁县| 镇坪县| 新绛县| 周至县| 余庆县| 石林| 婺源县| 遂溪县| 天等县| 汨罗市| 韶关市| 涪陵区| 新竹市| 长泰县| 栾城县| 布尔津县| 湾仔区| 武汉市| 巴里| 瑞安市| 梅州市| 盐亭县| 盘山县| 米泉市| 岳阳县| 天津市| 扬州市| 高平市| 海城市| 志丹县| 塘沽区| 自治县| 喀什市| 玛多县| 安顺市| 疏附县| 临洮县| 天全县| 加查县| 涡阳县|