User-Profile-Image
hankin
  • 5
  • Java
  • Kotlin
  • Spring
  • Web
  • SQL
  • MegaData
  • More
  • Experience
  • Enamiĝu al vi
  • 分类
    • Zuul
    • XML
    • WebSocket
    • Web Notes
    • Web
    • Vue
    • Thymeleaf
    • SQL Server
    • SQL Notes
    • SQL
    • SpringSecurity
    • SpringMVC
    • SpringJPA
    • SpringCloud
    • SpringBoot
    • Spring Notes
    • Spring
    • Servlet
    • Ribbon
    • Redis
    • RabbitMQ
    • PostgreSQL
    • OAuth2
    • NOSQL
    • MySQL
    • MyBatis
    • More
    • MegaData
    • Maven
    • LoadBalancer
    • Kotlin Notes
    • Kotlin
    • jQuery
    • JavaScript
    • Java Notes
    • Java
    • Hystrix
    • Git
    • Gateway
    • Freemarker
    • Feign
    • Eureka
    • Enamiĝu al vi
    • ElasticSearch
    • Docker
    • Consul
    • Ajax
    • ActiveMQ
  • 页面
  • 友链
    • Spring Cloud Alibaba
    • Spring Cloud
    • Nacos
    • Docker
    • ElasticSearch
    • Kotlin
    • Kotlin易百
    • KotlinWeb3
    • KotlinNhooo
    • 前端开源搜索
    • Ktorm ORM
    • Ktorm-KSP
    • Ebean ORM
    • Maven
    • 江南一点雨
    • 江南国际站
    • 设计模式
    • 熊猫大佬
    • java学习
    • kotlin函数查询
    • Istio 服务网格
    • istio
    • Ktor 异步 Web 框架
    • PostGis
    • kuangstudy
    • 源码地图
    • it教程吧
    • Arthas-JVM调优
    • Electron
    • bugstack虫洞栈
    • github大佬宝典
    • Sa-Token
    • 前端技术胖
    • bennyhuo-Kt大佬
    • Rickiyang博客
    • 李大辉大佬博客
    • KOIN
    • SQLDelight
    • Exposed-Kt-ORM
    • Javalin—Web 框架
    • http4k—HTTP包
    • 爱威尔大佬
    • 小土豆
    • 小胖哥安全框架
    • 负雪明烛刷题
    • Kotlin-FP-Arrow
    • Lua参考手册
    • 美团文章
    • 666资源站
    • Java 全栈知识体系
    • 尼恩架构师学习
Help?

Please contact us on our email for need any support

Support
    首页   ›   SQL   ›   PostgreSQL   ›   正文
PostgreSQL

PostgreSQL—常用指令

2022-04-03 16:12:20
171  0 1

参考目录

  • 连接PostgreSQL 数据库
  • 切换新数据库连接
  • 列出有效数据库
  • 列出当前数据库所有表
  • 查看表结构
  • 列出有效schema
  • 列出有效函数
  • 列出有效试图
  • 列出用户及其角色
  • 执行前面命令
  • 命令历史
  • 从文件执行psql命令
  • 获取命令帮助
  • 开启查询执行时间
  • 退出psql
  • 创建数据库命令
  • 删除数据库
  • 重命名一个表
  • 删除一个表
  • 表里添加字段
  • 删除表中的字段
  • 重命名一个字段
  • 给一个字段设置缺省值
  • 去除缺省值
  • 表中插入数据
  • 修改表中的某行某列的数据
  • 修改字段类型
  • 删除表中某行数据 
  • 删空整个表 
  • 创建表
  • 切换用户
  • 创建用户
  • 创建用户时设定用户属性
  • 修改用户属性
  • 设置访问权限
  • 撤销用户访问权限
  • 用户组
  • 删除用户和组
  • 数据库连接数查询
  • 查询当前所有连接的状态
  • 查看数据库剩余连接数
  • 查看为超级用户保留的连接数
  • 关闭空闲连接
  • 查看目前所有的连接的进程 id、应用名称、状态。
  • 当前总共正在使用的连接数
  • 显示系统允许的最大连接数
  • 显示系统保留的用户数
  • 按照用户分组查看
  • 结束连接的进程
  • 杀死所有 idle 的进程

阅读完需:约 6 分钟

连接PostgreSQL 数据库

psql -d database -U  user -W

psql -d postgres -U postgres -W
用户 postgres 的口令:
psql (10.15)

postgres=#

如果数据库非本机,则需要增加-h选项:

psql -h host -d database -U user -W

使用SSL方式连接,使用下面命令:

psql -U user -h host "dbname=db sslmode=require"

切换新数据库连接

连接数据库之后,当前用户可能需要切换至其他数据库。切换之后则前面的连接关闭,如果忽略user参数则默认为当前用户。

\c dbname username

postgres=# \c TestDb
口令:
您现在已经连接到数据库 "TestDb",用户 "postgres".
TestDb=#

列出有效数据库

列出当前数据库服务器上的所有数据库,使用\l命令:

\l

列出当前数据库所有表

\dt

查看表结构

\d table_name

列出有效schema

\dn

列出有效函数

\df 

列出有效试图

\dv

列出用户及其角色

\du

执行前面命令

\g

命令历史

\s 
保存命令历史到文件,需要指定文件名称:
\s filename

从文件执行psql命令

\i filename
\i 'e:\\init.sql'

获取命令帮助

\?
获取特定PostgreSQL语句帮助
\h ALTER TABLE

开启查询执行时间

postgres=# \timing
启用计时功能.
postgres=# select count(*) from tbl_partition;
 count
-------
     0
(1 行记录)

时间:0.461 ms
postgres=#

可以再次使用相同命令关闭计时功能

退出psql

\q

创建数据库命令

create database [数据库名]; 

删除数据库

drop database [数据库名];  

重命名一个表

alter table [表名A] rename to [表名B]; 

删除一个表

drop table [表名]; 

表里添加字段

alter table [表名] add column [字段名] [类型]; 

删除表中的字段

alter table [表名] drop column [字段名]; 

重命名一个字段

alter table [表名] rename column [字段名A] to [字段名B]; 

给一个字段设置缺省值

alter table [表名] alter column [字段名] set default [新的默认值];

去除缺省值

alter table [表名] alter column [字段名] drop default; 

表中插入数据

insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......); 

修改表中的某行某列的数据

update [表名] set [目标字段名]=[目标值] where [该行特征]; 

修改字段类型

ALTER TABLE '表名' ALTER COLUMN '列名' type 新类型;

删除表中某行数据 

delete from [表名] where [该行特征]; 

删空整个表 

delete from [表名];

创建表

create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;); 

切换用户

su username

创建用户

  • 方式1:在系统命令行中使用createuser命令中创建
createuser username 
  • 方式2:在PostgresSQL命令行中使用CREATE ROLE指令创建
CREATE ROLE rolename;
  • 方式3:在PostgresSQL命令行中使用CREATE USER指令创建
CREATE USER username;

CREATE USER和CREATE ROLE的区别在于,CREATE USER指令创建的用户默认是有登录权限的,而CREATE ROLE没有。

  • \du 指令显示用户和用户的用户属性 

创建用户时设定用户属性

  • 基本语法格式
CREATE ROLE role_name WITH optional_permissions;
  • 示例:在创建用户时设定登录权限。
CREATE ROLE username WITH LOGIN;
  • 可以通过\h CREATE ROLE指令查看全部可设置的管理权限

修改用户属性

  • 修改权限的命令格式
ALTER ROLE username WITH attribute_options;
  • 例如:可通过以下方式禁止用户登录
ALTER ROLE username WITH NOLOGIN;

设置访问权限

  • 语法格式如下:
GRANT permission_type ON table_name TO role_name;
  • 实例:
GRANT UPDATE ON demo TO demo_role; --赋予demo_role demo表的update权限GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC to demo_role; --赋予demo_role所有表的SELECT权限
  • 特殊符号:ALL代表所访问权限,PUBLIC代表所有用户
GRANT ALL ON demo TO demo_role; --赋给用户所有权限GRANT SELECT ON demo TO PUBLIC; --将SELECT权限赋给所有用户
  • \z或\dp指令显示用户访问权限。
  • \h GRANT显示所有可设置的访问权限

撤销用户访问权限

  • 语法格式如下:
REVOKE permission_type ON table_name FROM user_name;

其中permission_type和table_name含义与GRANT指令中相同。

用户组

在postgres中用户实际上是role,同时组也是role。 包含其他role的role就是组。

  • 创建组示例:
CREATE ROLE temporary_users;GRANT temporary_users TO demo_role;GRANT temporary_users TO test_user;
  • 切换ROLE
SET ROLE role_name; --切换到role_name用户RESET ROLE; --切换回最初的role
  • INHERIT权限:该属性使组成员拥有组的所有权限
ALTER ROLE test_user INHERIT;

删除用户和组

删除用户和组很简单:

DROP ROLE role_name;DROP ROLE IF EXISTS role_name;

删除组role只会删除组的role本身,组的成员并不会被删除

数据库连接数查询

查询当前所有连接的状态

select datname,pid,application_name,state from pg_stat_activity;

查看数据库剩余连接数

select max_conn-now_conn as resi_conn from (select setting::int8 as max_conn,(select count(*) from pg_stat_activity) as now_conn from pg_settings where name = 'max_connections') t;

查看为超级用户保留的连接数

show superuser_reserved_connections;

关闭空闲连接

select datname,pid,application_name,state from pg_stat_activity;

查看目前所有的连接的进程 id、应用名称、状态。

select pg_terminate_backend(pid) from pg_stat_activity;

当前总共正在使用的连接数

select count(1) from pg_stat_activity;

显示系统允许的最大连接数

show max_connections;

显示系统保留的用户数

show superuser_reserved_connections ;

按照用户分组查看

select usename, count(*) from pg_stat_activity group by usename order by count(*) desc;

结束连接的进程

SELECT pg_terminate_backend(15278);

杀死所有 idle 的进程

select pg_terminate_backend(pid) from pg_stat_activity where state=’idle’;

如本文“对您有用”,欢迎随意打赏作者,让我们坚持创作!

1 打赏
Enamiĝu al vi
一个人若有一百只羊,一只走迷了路,你们的意思如何?他岂不撇下这九十九只,往山里去找那只迷路的羊吗?
509文章 66评论 154点赞 267363浏览
默认版本~SpringBoot2.0~2.3
  • Spring—WebClient使用
  • SpringCloud—LoadBalanced负载均衡
  • Spring—ApplicationEvent事件驱动机制
  • SpringMVC—Web九大组件之HandlerExceptionResolver异常处理器
  • SpringMVC—ModelAndViewContainer、ModelMap、Model、ModelAndView、@ModelAttribute、@SessionAttribute等
  • SpringMVC—Web九大组件之ViewResolver
  • SpringMVC—ContentNegotiation内容协商机制
随便看看就好
ActiveMQ (4) Ajax (13) Consul (1) Docker (7) ElasticSearch (13) Enamiĝu al vi (1) Eureka (2) Feign (6) Freemarker (5) Gateway (6) Git (5) Hystrix (7) Java (71) Java Notes (110) JavaScript (1) jQuery (2) Kotlin Notes (47) LoadBalancer (1) Maven (2) More (0) MyBatis (41) MySQL (5) OAuth2 (11) PostgreSQL (4) RabbitMQ (6) Redis (17) Ribbon (6) Servlet (3) Spring (68) SpringBoot (83) SpringCloud (14) SpringJPA (4) SpringMVC (46) Spring Notes (43) SpringSecurity (49) SQL (13) SQL Notes (9) SQL Server (2) Thymeleaf (4) Vue (9) Web (12) Web Notes (18) WebSocket (9) XML (1) Zuul (3)
随便看看就好
  • 2023年1月 (3)
  • 2022年12月 (1)
  • 2022年11月 (3)
  • 2022年10月 (5)
  • 2022年9月 (8)
  • 2022年8月 (1)
  • 2022年7月 (2)
  • 2022年6月 (4)
  • 2022年5月 (5)
  • 2022年4月 (3)
  • 2022年3月 (7)
  • 2022年2月 (4)
  • 2022年1月 (15)
  • 2021年12月 (16)
  • 2021年11月 (3)
  • 2021年10月 (3)
  • 2021年9月 (3)
  • 2021年8月 (2)
  • 2021年7月 (4)
  • 2021年6月 (16)
  • 2021年5月 (3)
  • 2021年4月 (2)
  • 2021年3月 (13)
  • 2021年2月 (2)
  • 2021年1月 (33)
  • 2020年12月 (13)
  • 2020年11月 (6)
  • 2020年10月 (17)
  • 2020年9月 (26)
  • 2020年8月 (46)
  • 2020年7月 (28)
  • 2020年6月 (4)
  • 2020年5月 (16)
  • 2020年4月 (88)
  • 2020年3月 (104)
随机文章
SpringMVC—HandlerMethodArgumentResolver参数处理器
4个月前
RestTemplate组件:ClientHttpRequestFactory—ClientHttpRequestInterceptor—ResponseExtractor
2年前
Spring笔记2—IOC
3年前
SpringSecurity—区分登录失败异常
1年前
Nginx—安装运行Lua脚本
7个月前
ENMAL摘要

1、Kotlin:

https://www.liuwj.me/

 

2、webflux:

https://www.cnblogs.com/lixinjie/p/a-brother-of-spring-mvc-is-spring-webflux.html

 

3、Java中的Unsafe

 

4、https://my.oschina.net/quanke/blog/1631990

 

5、https://blog.csdn.net/u013064109/article/details/78786646?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161214257916780264022540%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161214257916780264022540&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-11-78786646.first_rank_v2_pc_rank_v29&utm_term=kotlin

 

6、待学习除Spring之外的Web框架 — Cloudopt Next、Javalin、jfinal

https://jfinal.com/doc

 

7、kotlin设计模式——https://github.com/AboutKotlin/Design-Patterns-In-Kotlin

 

8、kotlin–ktorm+SpringBoot——https://gitee.com/tianchaohongyu/Spring-Boot-Ktor-Starter

 

9、新技术 — CQRS、jasync-sql、play!framework、akka、asyncdb

 

10、Kotlin Tips

https://gitee.com/lesliekoma/kotlin_tips?_from=gitee_search#tip5–%E6%87%92%E5%88%9D%E5%A7%8B%E5%8C%96by-lazy-%E5%92%8C-%E5%BB%B6%E8%BF%9F%E5%88%9D%E5%A7%8B%E5%8C%96lateinit

 

11、mall项目电商系统

https://github.com/macrozheng/mall

 

12、POI大量读写

https://www.cnblogs.com/swordfall/p/8298386.html

 

13、Gitee

权限RBAC:

https://gitee.com/log4j/pig

 

14、freecodecamp、pf4j

 

15、https://javadoop.com/

 

16、https://www.cnblogs.com/skywang12345/

 

17、Flyway

 

18、https://github.com/kotlin-orm/ktorm/pull/296

 

kt实体类自动生成表

 

https://github.com/tursom/TursomServer/tree/master/ts-database/src/main/kotlin/cn/tursom/database

 

19、蓝狐、支付沙盒、虚拟币

 

20、r2dbc spring强推,vertx这边是quarkus强推 redhat认证

 

21、Keycloak为Web应用和Restful服务提供了一站式的单点登录解决方案。

 

22、RSQL 的形式为 Restful API 带来了 SQL 声明性的便利

https://github.com/vineey/archelix-rsql

https://github.com/ymind/rsql-ktorm

 

23、Kotlin依赖注入

https://github.com/InsertKoinIO/koin

 

24、Kotlin– Alpas

https://github.com/alpas/alpas

一个基于 Kotlin 的 Web 框架,可让您简单快速地创建 Web 应用程序和 API。

 

25、外网学习网站,文章

https://medium.com/nerd-for-tech

 

26、Compose Multiplatform 进入 Alpha 版,统一桌面、Web 和 Android UI

https://blog.jetbrains.com/kotlin/2021/08/compose-multiplatform-goes- alpha/

 

27、Sureness

面向REST API的高性能认证鉴权框架,致力于管理保护API安全

https://gitee.com/dromara/sureness

与Javalin结合

https://javalin.io/2021/04/16/javalin-sureness-example.html

 

28、Kotlin官网合集库

https://kotlinlang.org/lp/server-side/

https://kotlinlang.org/lp/server-side/

https://kotlinlang.org/lp/server-side/

 

29、CLI知识体系

https://juejin.cn/post/6966119324478079007

 

30、面向 Web、移动和 Flutter 开发人员的安全开源后端服务器

https://appwrite.io/

 

31、Java锁

https://blog.csdn.net/hancoder/article/details/120421993

 

32、java—简单的鉴权认证

介绍 – Sa-Token (dev33.cn)

 

33、Effective Kotlin 中文翻译

GitHub – MaxzMeng/Effective-Kotlin-zh-CN: Effective Kotlin 中文翻译

 

34、Nutz—国产Web开源框架

http://www.nutzam.com/core/nutz_preface.html

 

35、Quarkus 夸克—国外开源框架

https://quarkus.io/

 

36、目前6个框架

  1. Spring Reactive → 背靠 Pivotal → 归属 VMware → 归属戴尔
  2. Quarkus 和 Vert.x → 背靠 Eclipse 基金会 → 主要由 Red Hat 支持
  3. Helidon → 背靠 Oracle
  4. Micronaut → 背靠 Object Computing(Grails、OpenDDS)
  5. Lagom → 背靠 Lightbend(Akka)
  6. Ktor → 背靠 JetBrains

 

37、XXL-JOB—–分布式任务调度平台

https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B

 

38、领域设计驱动模版

https://myddd.org

 

39、BFF— Backend For Frontend

 

40、面试突击小册

https://snailclimb.gitee.io/javaguide-interview/#/

https://javaguide.cn/

 

41、JeecgBoot 是一款基于代码生成器的低代码开发平台

http://doc.jeecg.com/2043868

 

42、

IdentityServer4 是用于 ASP.NET Core 的 OpenID Connect 和 OAuth 2.0 框架。

https://identityserver4docs.readthedocs.io/zh_CN/latest/index.html

 

43、cn.novelweb 工具类的个人博客

https://blog.novelweb.cn

 

44、分布式链路追踪SkyWalking

 

45、刷题模版

https://blog.csdn.net/fuxuemingzhu/article/details/101900729

 

46、TS中文文档

https://ts.xcatliu.com/

 

47、Rust 中文文档

https://kaisery.github.io/trpl-zh-cn/ch00-00-introduction.html

 

48、Bean Searcher 只读 ORM

https://searcher.ejlchina.com/guide/latest/start.html

 

49、K8S的学习手册

https://kuboard.cn/learning/k8s-basics/kubernetes-basics.html#%E5%AD%A6%E4%B9%A0%E7%9B%AE%E6%A0%87

 

50、fluent-mybatis, mybatis语法增强框架(关键自动生成代码JavaPoet)

https://gitee.com/fluent-mybatis/fluent-mybatis?_from=gitee_search

 

51、程序猿博客

https://qicoder.com/categories/

https://blog.hhui.top/hexblog/

https://fangshixiang.blog.csdn.net/category_7941357_2.html

https://www.zhihu.com/people/zhuo-zi-yang-93

 

52、itxiaoshen大佬的分享

https://www.cnblogs.com/itxiaoshen/

Copyright © 2023 网站备案号: 浙ICP备20017730号
主页
页面
博主
Enamiĝu al vi
Enamiĝu al vi 管理员
If you get tired, learn to rest, not to quit.
509 文章 66 评论 267363 浏览
测试
测试
赞赏作者

请通过微信、支付宝 APP 扫一扫

感谢您对作者的支持!

 支付宝 微信支付