首页 > 数据库 >postgresql-用户管理

postgresql-用户管理

时间:2023-07-08 15:14:35浏览次数:42  
标签:test1 postgresql postgres 管理 用户 test 权限 schema

1、连接数据库

远程连接

$ psql -U postgres -h 192.168.3.105 -d postgres -p 1921 -W

允许远程连接需要配置以下两个配置

配置监听地址

$ vim /pgdata/postgresql.conf
listen_addresses = '0.0.0.0'

客户端认证配置

$ vim /pgdata/pg_hba.conf
host    all             all             0.0.0.0/0               md5
2、用户管理

在 pg 中用户和角色是没有区别的,唯一的不同就是创建角色默认没有登录权限,需手动赋予。

列出数据库中的用户

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

创建用户,常用的选项有

  • superuser | nosuperuser 用户是否为超级用户
  • createdb | nocreatedb 用户是否有create database 的权限
  • createrole | nocreaterole 用户受否有创建角色的权限
  • inherit | noinherit 角色是否继承其他角色的权限
  • login | nologin 角色是否有登录权限
  • connection limit n :限制角色并发连接数量,默认是 -1 ,没有限制
postgres=# create role test with superuser login password 'test';
CREATE ROLE
postgres=# create role test1 with login password 'test1';
CREATE ROLE

修改用户

postgres=# alter role test1 with superuser login password 'test1';
ALTER ROLE

删除用户

postgres=# drop role test1;
DROP ROLE
3、权限管理

权限级别

  • cluster 权限,实例权限通过 pg_hba.conf 配置

  • database 权限,grant create on database test to test;

  • schema 权限,alter schema test_schema owner to test; grant select,insert,update,delete on all tables in schema test_schema to test;

  • object 权限,grant select,insert,update,delete on a.b to user;

查看权限信息

postgres=# select * from pg_roles;
test=# select * from information_schema.table_privileges;

标签:test1,postgresql,postgres,管理,用户,test,权限,schema
From: https://www.cnblogs.com/zbc230/p/17537249.html

相关文章

  • 解决MySQL 修改创建用户 主机名的具体操作步骤
    MySQL修改创建用户主机名简介在MySQL中,我们可以通过修改和创建用户来管理数据库的访问权限。本文将向刚入行的小白介绍如何通过MySQL来修改和创建用户的主机名。操作步骤下表总结了修改和创建用户主机名的步骤:步骤操作步骤1登录MySQL数据库步骤2查看已存在的......
  • 将RUP与管理成功的规划集成在一起
    本文来自于RationalEdge:本文概述了如何在业务建模、需求管理和工具支持的重要领域中,将RUP和MSP集成起来处理MSP中的缺口。最终结果是一个更全面的处理方法,分析和指定一个组织的转化,以及软件工具和技术的使用。编者注:下面的文章描述了管理成功的规划(ManagingSuccessfulProg......
  • Npm包管理工具
    1简介什么是NPMNPM全称NodePackageManager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的;也是Node.js的包管理工具,相当于Java的Maven。#在命令提示符输入npm-v可查看当前npm版本npm-v修改npm镜像NPM官方的管理的包都是从 http://npmjs.......
  • nvm一个nodejs版本管理工具!
    nvm是什么nvm全英文也叫node.jsversionmanagement,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。nvm下载可在点此在github上下载最新版本,本次下载安装的是windows版本。目前......
  • postgresql-安装过程
    1、初始化系统配置#useradd-d/opt/postgrespostgres#yumgroupinstall-y"DevelopmentTools""LegacyUNIXCompatibility"-y#yuminstall-ybisonflexreadline*zlib-develgcc*gmake-y#mkdir/pgdata#mkdir/archive#chownpostgres.pos......
  • Git代码管理、提交、问题、仓库创建与管理
    第一章、在Github上创建仓库第1节、创建仓库进入https://github.com进入项目仓库:yourrepositories右侧点击:new按钮owner填写仓库名称Description填写项目描述public选择项目公开private选择项目不公开第2节、下载和安装Git客户端下载地址:https://git-scm.com/downloa......
  • UniApp中的路由管理与导航实现
    当在UniApp中进行路由管理和导航时,你可以使用UniApp提供的内置导航功能以及相关API来实现。下面是一些示例代码和最佳实践,帮助你在UniApp中进行路由管理和导航。1.页面跳转在UniApp中,可以使用内置的uni.navigateTo方法来实现页面跳转。该方法会将目标页面压入导航栈中......
  • PostgreSQL向量数据库pgvector之ivfflat实践
    前言ChatGPT、OpenAI和大型语言模型(LLM)应用的不断普及,将近似近邻搜索(ANN)的概念推向了前沿,并由于嵌入的使用,引发了人们对向量数据库的重新关注。嵌入是短语的数学表示,它将语义捕捉为数值的向量量,鉴于嵌入通常由一千多个维度组成--OpenAI的维度为1,536,因此必须开发新的技术。目前还没......
  • mysql-oracle查询用户信息切换
    mysql写法selecttable_name,table_comment,create_time,update_timefrominformation_schema.tableswheretable_schema=(selectdatabase())ANDtable_nameNOTLIKE'qrtz_%'ANDtable_nameNOTLIKE'gen_%'ANDtable_......
  • Linux中Postfix虚拟用户及虚拟域(六)
    摘自:http://www.ywnds.com/?p=1797 Postfix基于虚拟用户虚拟域的邮件架构 上图是一个几乎完整的邮件系统架构图,这里基于Mysql数据库进行用户认证,不管是Postfix、Dovecot、webmail都需要去Mysql数据库中进行用户认证。1、用户可以基于outlook连接postfix然后通过Courier-au......