postgres 创建新用户并授权

https://blog.csdn.net/XuHang666/article/details/81506297

原作者总结的挺好的 可以用来学习一下.

grant all on database hcmcloud(databasename) to hcm(username)
 

postgres 默认用户是postgres,为超级用户。

第一步:先以postgress 登录

1)psql -U '用户名'

2.)创建数据库新用户

CREATE USER 用户名 WITH PASSWORD '*****';

3)授予用户数据库权限

GRANT ALL PRIVILEGES ON DATABASE 数据库名 TO 用户名;

4)授予用户查看刚授权的数据库的里面的表的权限

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

附带一条:修改的表的类型

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

附带一条:增加表新的字段

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

2018-08/22新增:设置主键自增

CREATE SEQUENCE user_id_seq
START WITH
INCREMENT BY
NO MINVALUE
NO MAXVALUE
CACHE ;

alter table sys_user alter COLUMN id set DEFAULT nextval('user_id_seq');

2018-11/14新增: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;

建表SQL示例

CREATE TABLE nginx_server_config (
  id serial NOT NULL ,
  listen_port int4 NOT NULL,
  server_name varchar() not null,
  location varchar() null,
  is_ssl int2  null,
  ssl_session_timeout varchar null,
  ssl_cert_name varchar() null,
  ssl_cert_key_name varchar() null,
  proxy_pass_url varchar() not null,
  create_date timestamp() not null,
  update_date timestamp() null,
  remark varchar() null,
  client_max_body_size varchar null,
  constraint PK_nginx_server_config primary key (id)
);

8. 表新增列

# 不存在则创建
ALTER TABLE sys_user ADD COLUMN IF NOT EXISTS v6_level int2;

# 直接创建
ALTER TABLE sys_user ADD COLUMN v6_level int2;

9. array和jsonb类型操作

-- jsonb 类型数据类型操作
DROP TABLE IF EXISTS public.test_jsonb;
CREATE TABLE public.test_jsonb (
    id int4,
    data jsonb
);
insert into test_jsonb values(,'{"id":1,"name":"小明", "age":18}');
select  * from test_jsonb;

-- array 类型数据类型操作
DROP TABLE IF EXISTS public.test_array;
CREATE TABLE public.test_array (
    id int4,
    data varchar()[]
);

insert into test_array values(,array['fisrt','second']);
select  * from test_array;

10. 判断表是否存在

-- 语法 select count(*) from pg_class where realname = '表名';
select count(*) from pg_class where relname = 'sys_command';

[转帖]postgres 创建新用户并授权-- 非常好的的更多相关文章

  1. Mysql 5.6创建新用户并授权指定数据库相应权限

    一.环境 Centos 6.9 Mysql 5.6.40 二.步骤 1.使用root用户登陆mysql mysql -uroot -p 输入密码: 2.创建新用户 CREATE USER 'user' ...

  2. vertica创建新用户并授权

    1.创建用户,并设置密码: create user user1 identified by 'pwd1'; 2.把角色授权给用户(dbduser是普通角色): grant dbduser to use ...

  3. oracle 创建新用户,授权dba

    1.用有dba权限的用户登录:sys用户 2.创建一个新用户:create user abc identified by 123456; 3.授予DBA权限: grant connect,resour ...

  4. mysql创建新用户并且授权远程访问

    1 修改root用户的密码 linux安装了mysql后,默认情况下,如果是root用户,不需要密码就可以登陆. mysql -u root -p 然后回车就可以登陆了,如果是普通用户,不能登陆. 2 ...

  5. mysql5.6创建新用户并给授权指定的数据库权限

    一.环境: CentOS 6.8 mysql 5.6 二.背景 给外包的工作人员提供我司某台服务器的 mysql 中某个数据库的访问权限. 之所以要做限制,是防止他们对我司其他的数据库非法进行操作. ...

  6. oracle 非sys用户创建新用户 授权后 plsql看不到视图

     问题: oracle 非sys用户创建新用户 授权后  plsql看不到视图 答案: 新用户查询视图时,视图名称前需要添加 视图所属用户. 如user用户新建newUser用户,newUser用户查 ...

  7. MySQL学习(一)——创建新用户、数据库、授权

    一.创建用户 1.登录mysql mysql -u root -p 2.创建本地用户>/font> use mysql; //选择mysql数据库 create user 'test'@' ...

  8. Ubuntu创建新用户并增加管理员权限(授权有问题)

    转自:Ubuntu创建新用户并增加管理员权限 $是普通管员,#是系统管理员,在Ubuntu下,root用户默认是没有密码的,因此也就无法使用(据说是为了安全).想用root的话,得给root用户设置一 ...

  9. Mysql创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES)

    MySQL创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YES) ,多半是因为存在匿名用户, ...

随机推荐

  1. Codeforces 678E. Another Sith Tournament(概率DP,状压)

    Codeforces 678E. Another Sith Tournament 题意: n(n<=18)个人打擂台赛,给定任意两人对决的胜负概率,比赛规则:可指定一人作为最开始的擂主,每次可指 ...

  2. Vue_(Router路由)-vue-router路由的基本用法

    vue-router官网:传送门 vue-router起步:传送门 vue-router路由:Vue.js官网推出的路由管理器,方便的构建单页应用 单页应用:Single Page Applicati ...

  3. HDU 4496 D-City —— (并查集的应用)

    给出n个点和m条边,一条一条地删除边,问每次删除以后有多少个联通块. 分析:其实就是并查集的应用,只是前一阵子一直做图论思路一直囿于tarjan了..方法就是,记录每一条边,然后从最后一条边开始不断的 ...

  4. mac -bash: ll: command not found

    在linux系统下我们经常使用ll.la命令.但在mac系统时缺没有. 提示:-bash: ll: command not found. 这是因为ll.la不是真的命令,而是一些常用命令和参数搭配的别 ...

  5. redis快照关闭了导致不能持久化的问题

    在使用redis的时候我们经常会遇到这种bug:   Python与Redis交互时,设置数据出现下列报错信息:   MISCONF Redis is configured to save RDB s ...

  6. HearthBuddy 复生 reborn

    https://hearthstone.gamepedia.com/Reborn Reborn is an ability that causes a minion to be resummoned ...

  7. PHP学习之验证码类

    <?php $code = new Code(); $code->outImage(); class Code { //验证码个数 protected $number; //验证码类型 p ...

  8. 视图解析器InternalResourceViewResolver

    ModelAndView对象中即可以封装真实视图路径名,也可以封装视图路径的逻辑名,springmvc.xml 代码如下: <!-- 视图解析器(框架) --> <bean clas ...

  9. VBA锁定指定单元格

    Then .Range("AF4").Value = pjno .Range("A1:AH56").Locked = False .Range("F6 ...

  10. sqlserver2008 job设定

    数据同期: update owk ),td.) ,owk.RecordEndTime),td.) from openrowset( 'SQLOLEDB ', '172.17.1.14'; 'read' ...