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 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;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 TableName alter column columnName type newType;
-- 下面示例character varying是一个类型, 表示无长度限制的字符串
alter table goods alter column sid type character varying;
alter table goods alter column sid type int8; 

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(255) not null,location varchar(255) null,is_ssl int2  null,ssl_session_timeout varchar null,ssl_cert_name varchar(255) null,ssl_cert_key_name varchar(255) null,proxy_pass_url varchar(255) not null,create_date timestamp(6) not null,update_date timestamp(6) null,remark varchar(255) 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(1,'{"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(128)[]
);insert into test_array values(1,array['fisrt','second']);
select  * from test_array;

10. 判断表是否存在

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

11.创建唯一键约束

constraint user_info_unique_userid unique(userid)

12.查看表字段类型

-- \d 表的名字
\d sys_role结果如下:Table "public.sys_role"Column    |              Type              |                     Modifiers
-------------+--------------------------------+----------------------------------------------------id          | integer                        | not null default nextval('sys_role_sqp'::regclass)name        | character varying(255)         | value       | json                           | create_date | timestamp(6) without time zone | update_date | timestamp(6) without time zone | remark      | character varying(255)         | 

13. 正则查询

-- 使用符号~匹配
-- "~":区分大小写,"~*"不区分大小写
-- "\A":表示以特定的字符串(string)开始,"\Z": 表示以特定的字符串(string)结尾,"\\"表示转译
-- 例子:email值:15912340000@163.com
select email from sys_user where email ~ '(\d)+.com';

14. 导入sql文件

--- 说明
--- psql -d 数据库名 -U 数据库属于的用户 -f 导入的sql文件路径
psql -d user_db -U admin -f  /home/import.sql

postgres 创建新用户并授权相关推荐

  1. BOS项目01_02_项目的相关概述、MySQL创建新用户并授权、数据库环境的配置、Mysql命令行

    系列文章目录 文章目录 系列文章目录 前言 一.项目的相关概述 二.数据库环境的配置--MySQL创建新用户并授权 前言 我们这里的BOS系统是指: 物流业务操作系统 一.项目的相关概述 1.1> ...

  2. Ubuntu创建新用户以及授权

    添加管理员帐户 1.打开命令行,快捷键crtl+alt+T,或者crtl+alt+F1~F6 2.运行sudo useradd -g root XXX(xxx是你的管理员帐号不能是root,要另外起比 ...

  3. DB2创建新用户及授权研究

    文章转载自:http://blog.csdn.net/wkwanglei/article/details/6827481 1.创建系统用户dbuser/ehong隶属于db2users 2.C:\Pr ...

  4. mysql创建新用户并授权

    我们在使用mysql的过程中,经常需要对用户授权(添加,修改,删除),在mysql当中有三种方式实现 分别是 INSERT USER表的方法.CREATE USER的方法.GRANT的方法.今天主要看 ...

  5. php - MySQL创建新用户并授权

    语法格式: GRANT 权限 ON 数据库.数据表 TO 用户名@登陆主机 IDENTIFIED BY "密码" 例如:添加一个用户名位PHPuser,密码为brophp,让他可以 ...

  6. mysql安装尝试创建新用户失败_Linux MySQL yum安装 创建新用户

    一.wget http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm 二.yum localinstall mysql5 ...

  7. lnmp下mysql创建新用户授权后登录报错 1045 Access denied for user 'name'@'localhost

    报错:1045 Access denied for user 'name'@"localhost' (using password: YES) 问题:mysql创建新用户授权后远程登录用户时 ...

  8. 树莓派Ubuntu20.04创建新用户+授权+删除默认用户

    step1_提权: sudo su #给当前用户临时分配root权限 step2_创建新用户: 由于step1已获取root权限,以下的所有代码不需要再用sudo,另外注意: (1)新名称首字母不可以 ...

  9. 如何创建一个用户、授权操作k8s集群的过程?

    本篇带给大家如何创建一个用户.授权操作k8s集群的过程.希望对你有所帮助! 背景 172.16.99.128是的我k8s集群的master节点,此处是从这里获取集群的证书. 创建访问architech ...

最新文章

  1. HttpApplication事件ASP.NET页面周期
  2. 【c# 学习笔记】类实例化
  3. 【Codeforces Round #299 (Div. 2) B】Tavas and SaDDas
  4. BM微型计算机2283,微型计算机原理及接口技术钢琴课程设计最新.doc
  5. Microsoft Lync
  6. ajax获取session值_java程序员你真的了解session与cookie吗?
  7. c语言oj1124,程序设计入门——C语言 第2周编程练习 1时间换算(5分)
  8. MediaCodec 编码时间戳问题
  9. sed原理及p参数的运用的分析
  10. cadsee plus看图纸 7.2.0.1
  11. 计算机语言基础入门百度云,汇编计算机语言入门教程
  12. 制作一个网站需要工具, 步骤
  13. 免费好用的文字转语音工具
  14. 桌面版 Linux 为什么打不过 Window?Linus 现身说法
  15. leetcode_Restore IP Addresses
  16. OSChina 周一乱弹 —— 今天下班带你去放松咧
  17. 项目管理上的新问题 - 先有鸡还是先有蛋的问题新解
  18. 【简约而不简单:神级代码的小秘密】| 第二章 栈
  19. 【目标跟踪】Long-term Correlation Tracking 阅读笔记
  20. 泛化误差深入理解计算机系统,泛化误差界指导的鉴别字典学习

热门文章

  1. 微信小程序页面跳转限制问题
  2. 阿里开源内核诊断工具:diagnose-tools
  3. Java项目:振华电器商城网站设计和实现(javaweb+SSM)
  4. 独立DSP芯片兴衰史:FPGA吹响了丧钟
  5. 生成树协议 STP RSTP PVST PVST+ 学习记录
  6. c#数组赋初值_c语言给数组赋值的3种形式
  7. python生日快乐不同的人代码_祝我生日快乐!
  8. 实验题6.3 采用普里姆算法求最小生成树
  9. JavaScipt的秘密花园
  10. 前后端分离技术之加签,验签,防篡改