postgres 创建新用户并授权
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 创建新用户并授权相关推荐
- BOS项目01_02_项目的相关概述、MySQL创建新用户并授权、数据库环境的配置、Mysql命令行
系列文章目录 文章目录 系列文章目录 前言 一.项目的相关概述 二.数据库环境的配置--MySQL创建新用户并授权 前言 我们这里的BOS系统是指: 物流业务操作系统 一.项目的相关概述 1.1> ...
- Ubuntu创建新用户以及授权
添加管理员帐户 1.打开命令行,快捷键crtl+alt+T,或者crtl+alt+F1~F6 2.运行sudo useradd -g root XXX(xxx是你的管理员帐号不能是root,要另外起比 ...
- DB2创建新用户及授权研究
文章转载自:http://blog.csdn.net/wkwanglei/article/details/6827481 1.创建系统用户dbuser/ehong隶属于db2users 2.C:\Pr ...
- mysql创建新用户并授权
我们在使用mysql的过程中,经常需要对用户授权(添加,修改,删除),在mysql当中有三种方式实现 分别是 INSERT USER表的方法.CREATE USER的方法.GRANT的方法.今天主要看 ...
- php - MySQL创建新用户并授权
语法格式: GRANT 权限 ON 数据库.数据表 TO 用户名@登陆主机 IDENTIFIED BY "密码" 例如:添加一个用户名位PHPuser,密码为brophp,让他可以 ...
- mysql安装尝试创建新用户失败_Linux MySQL yum安装 创建新用户
一.wget http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm 二.yum localinstall mysql5 ...
- lnmp下mysql创建新用户授权后登录报错 1045 Access denied for user 'name'@'localhost
报错:1045 Access denied for user 'name'@"localhost' (using password: YES) 问题:mysql创建新用户授权后远程登录用户时 ...
- 树莓派Ubuntu20.04创建新用户+授权+删除默认用户
step1_提权: sudo su #给当前用户临时分配root权限 step2_创建新用户: 由于step1已获取root权限,以下的所有代码不需要再用sudo,另外注意: (1)新名称首字母不可以 ...
- 如何创建一个用户、授权操作k8s集群的过程?
本篇带给大家如何创建一个用户.授权操作k8s集群的过程.希望对你有所帮助! 背景 172.16.99.128是的我k8s集群的master节点,此处是从这里获取集群的证书. 创建访问architech ...
最新文章
- HttpApplication事件ASP.NET页面周期
- 【c# 学习笔记】类实例化
- 【Codeforces Round #299 (Div. 2) B】Tavas and SaDDas
- BM微型计算机2283,微型计算机原理及接口技术钢琴课程设计最新.doc
- Microsoft Lync
- ajax获取session值_java程序员你真的了解session与cookie吗?
- c语言oj1124,程序设计入门——C语言 第2周编程练习 1时间换算(5分)
- MediaCodec 编码时间戳问题
- sed原理及p参数的运用的分析
- cadsee plus看图纸 7.2.0.1
- 计算机语言基础入门百度云,汇编计算机语言入门教程
- 制作一个网站需要工具, 步骤
- 免费好用的文字转语音工具
- 桌面版 Linux 为什么打不过 Window?Linus 现身说法
- leetcode_Restore IP Addresses
- OSChina 周一乱弹 —— 今天下班带你去放松咧
- 项目管理上的新问题 - 先有鸡还是先有蛋的问题新解
- 【简约而不简单:神级代码的小秘密】| 第二章 栈
- 【目标跟踪】Long-term Correlation Tracking 阅读笔记
- 泛化误差深入理解计算机系统,泛化误差界指导的鉴别字典学习