postgresql 命令行操作
1.登录
#只指定用户,默认postgres库
psql -U postgres#指定主机和端口,用户,还需要密码认证,默认postgres库
psql -h localhost -p 5432 -U postgres --password#指定主机和端口,用户,数据库
psql -h localhost -p 5432 -U postgres -d '数据库' --password
2.常用命令
\l 查看系统中现存的数据库
\c 切换库,如template1=# \c sales 从template1转到sales库
\d 查看表和sequence
\d table_name,查看表结构,如:\d public.t_ip或\d t_ip,虽然`\d`看不到其他schema的表,但依然可以描述表`\d wechat.stat_basic_hour`
\dt 只查看表
\di 查看索引
\du 查看有哪些用户
\dn 查看schema
\dp 显示表的权限分配情况
\q 退出客户端程序psql
SET SEARCH_PATH TO public,wechat; 设置搜索路径(不区分大小写,下同) 设置后`\d`能列出指定的schema的表和sequence
SHOW SEARCH_PATH; 查看搜索模式
SELECT USER; 查看当前是什么用户登录的
postgres=# \conninfo 查看连接信息(什么用户连的)
3. 用户相关
创建数据库
CREATE DATABASE data_transfer;pg 默认所有用户都可以在名称为public的schema中创建表,只读用户不允许创建,所以要收回此权限
revoke create on schema public from public;创建schmea
create schema data_out创建只读用户my_user
create user my_user with password 'password';#授权数据库给用户
GRANT ALL ON DATABASE exampledb TO my_user;#授权表给用户
GRANT ALL ON public.mpa_app TO my_user;#授权sequence给用户
GRANT ALL ON SEQUENCE public.mpa_app_id_seq to my_user;授权schema给用户
grant usage on schema data_out to my_user;授权public给用户,y用户创建表
grant create on schema "public" to "my_user"授权用户查看schema data_out下的所有表(此时库的的所有表,新增表不能看到)
grant select on all tables in schema data_out to my_user;授权my_user用户查看新创建表的select 权限
alter default privileges in schema data_out grant select on tables to my_user;不需要一个个地授权,授予指定schema 下所有数据表及序列的权限
grant all privileges on all tables in schema public to my_user;
grant all privileges on all sequences in schema public to my_user;赋予默认数据表的权限
alter default privileges in schema public grant all privileges on tables to my_user;赋予默认序列的权限
alter default privileges in schema public grant all privileges on sequences to my_user;在指定数据为执行,回收连接public权限,防止已经创建的库未设置权限,表被访问到
revoke connect on database rohs from public;# 修改库的所有者
alter database mytestdb owner to mpa_dev;#修改schema所有者
alter schema wechat owner to mpa_dev;
删除用户
# 将old_user拥有owner权限的对象转移给other_user,那么old_user将不会再拥有owner权限的对象了
# REASSIGN OWNED BY中可以将对象的拥有者修改为postgres或是其他较高权限的业务账号
REASSIGN OWNED BY old_user TO postgres;
# 在当前库中,删除用户拥有的对象;并收回在当前库赋予的任何权限
# 由于之前已经使用了REASSIGN OWNED BY,old_user用户下已无owned的对象,对于账号不只是存在owner的情况,可能用户只是查询或修改的权限,此时再使用DROP OWNED BY则可以将其他权限收回。
DROP OWNED BY old_user;
# 最后删除账号
DROP USER old_user;
案例 :
create user my_user with password 'root';GRANT ALL ON DATABASE mydatabase TO my_user;grant create on schema "public" to "my_user";grant usage on schema public to my_user;
4.建库和建Schema
# 建库
CREATE DATABASE mpa_stat OWNER dbuser;
# 删除
DROP DATABASE mpa_stat;创建、删除schema
CREATE SCHEMA myschema; (是创建在当前数据库,使用\dn查看)
DROP SCHEMA myschema;
创建schema下的表
create table myschema.company(ID INT NOT NULL,NAME VARCHAR (20) NOT NULL,AGE INT NOT NULL,ADDRESS CHAR (25),SALARY DECIMAL (18, 2),PRIMARY KEY (ID)
);
查询表
select * from myschema.company;
参考:
PostgreSQL常用命令行操作-蒲公英云
PostgreSql数据库创建用户并授权_DevCsdner的博客-CSDN博客_pg数据库创建用户
postgresql 命令行操作相关推荐
- 批处理使用完文件后释放_windows 下使用批处理执行 postgresql 命令行操作
1.准备好命令文件 loraserver.sql create role loraserver_as with login password 'dbpassword';create role lora ...
- pgsql(PostgreSQL)常用命令行操作
PostgreSQL常用命令行操作 注意 注意有些命令要以;结尾,有些不用(一般是 \命令 的不用) 不以;结尾的命令相当于未换行 允许一次性粘贴执行多行命令 登录 # 切换用户 (必须先切换到pos ...
- DOS命令行操作MySQL常用命令
平时用可视化界面用惯了,如果紧急排查问题,没有安装可视化工具的话,只能通过命令来看了. 以备不时之需,我们要熟悉一下命令行操作MySQL. 打开DOS命令窗口:WIN + R 输入cmd,回车 然后输 ...
- github命令行操作
首先做准备工作,安装github客户端Git Shell和GitHub,GitHub用于界面化操作,本次主要说一下如果用命令行操作, 1.打开Git Shell,进入本地项目库,cd F:gitdem ...
- 命令行操作svn和git和git
前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...
- gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...
常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...
- kafka _命令行操作
kafka _命令行操作 #启动zk zkServer.start #启动kafka kafka-server-start.sh -daemon /opt/kafka/config/server.pr ...
- Zookeeper的简介及命令行操作
目录 前言 1.Zookeeper简介 2.Zookeeper结构 3.Zookeeper常用的命令行操作 总结: 目录 前言 作为一款第三方的协调服务框架,ZK被应用在许多地方,如:Hbase中用于 ...
- Serverless 场景排查问题利器 : 函数实例命令行操作
简介:实例命令行功能的推出希望能消除用户使用 Serverless 的"最后一公里",直接将真实的函数运行环境展现给用户. 背景介绍 全托管的 Serverless 计算平台能给用 ...
最新文章
- 【Ubuntu入门到精通系列讲解】系统信息相关命令
- MS CRM 2011插件调试工具
- 测试龙芯 LoongArch .NET之 使用 FastTunnel 做内网穿透远程计算机
- [PAT乙级]1016 部分A+B
- 【渝粤题库】陕西师范大学200781 数据库原理及应用 作业
- td过长,将固定宽度table撑开
- php文件夹0777,PHP代码mkdir(‘images’,’0777′)创建一个具有411权限的文件夹!为什么?...
- 为什么虚拟助手的前途一片光明
- 第五届蓝桥杯校内选拔赛试题java组_第五届蓝桥杯校内选拔赛试题java组
- 在函数中的局部程序(像是比局部变量还局部的部分)
- 嵌入式工程师有发展前途吗?这是我看过最靠谱的回答
- 【编辑器】Atom上手
- springboot 集成 log4j,log4j配置不同包不同日志输出级别(按包输出不同级别日志)
- 网站上传服务器浏览器打不开,网站发布或自己上传程序后,网站打不开的原因有哪些?...
- 十分钟开发出神经网络五子棋(二)
- 给2011年的MacBook Pro和MacBook Air升级到最新系统和做双系统时遇到的问题
- html的css怎么设置深度,vue css 深度选择器
- c++11新特性--decltype
- a股用计算机模拟走势,详解A股前方是上涨而不是下跌
- 基站侧与核心网侧进行交互涉及PLMN和PLMN ID换算及其代码实现