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. tensorboard 远程服务器本地浏览器无法显示

    在用xshell等ssh工具远程连接服务器时,我们常常在服务器上运行tensorflow代码,而且模型tf.summary保存文件在服务器上,这是直接采用tensorboard会有一些小问题.直接用t ...

  2. node中fs内置模块

    Node.js内置的fs模块就是文件系统模块,负责读写文件. 和所有其它JavaScript模块不同的是,fs模块同时提供了异步和同步的方法. 回顾一下什么是异步方法.因为JavaScript的单线程 ...

  3. python 绘制五角星

    code import turtle n = eval(input("请输入五角星的长度")) turtle.begin_fill() #开始填充颜色 i = : turtle.f ...

  4. java随机生成6位随机数 5位随机数 4位随机数

    随机数,应用会相当广,验证数,订单号,流水号拼接. 下面是java随机数生成语句: 生成6位随机数(不会是5位或者7位,仅只有6位): System.+)*)); 同理,生成5位随机数: System ...

  5. django 快速实现注册(四)

    一.创建项目与应用  #创建项目fnngj@fnngj-H24X:~/djpy$ django-admin.py startproject mysite3fnngj@fnngj-H24X:~/djpy ...

  6. Linux文件的加压缩解压缩tar命令

    linux下使用tar命令   解压 语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用.主选项:c 创建新的档案 ...

  7. postgresql 字符串转整数 int、integer

    --把'1234'转成整数 select cast('1234' as integer ) ; --用substring截取字符串,从第8个字符开始截取2个字符:结果是12 select cast(s ...

  8. Video Captioning 综述

    1.Unsupervised learning of video representations using LSTMs 方法:从先前的帧编码预测未来帧序列 相似于Sequence to sequen ...

  9. 将蓝牙rssi(信号强度)转换成距离

    遇到一个问题,是将蓝牙rssi(信号强度)转换成距离的问题. 这一问题没有准确的解决办法,但是有人做过一个拟合回归函数,其变化规律比较类似于rssi的变化规律,函数如下: d = ^(abs(rssi ...

  10. ubuntu下如何使用dpkg删除某个软件包?

    答:步骤如下: 1. 找出包名 dpkg -l |grep <package name> 2. 卸载 dpkg -r <package name>