iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >PostgreSQL中有哪些常用的SQL语句
  • 507
分享到

PostgreSQL中有哪些常用的SQL语句

2024-04-02 19:04:59 507人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关postgresql中有哪些常用的sql语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  创建新的用户  创建一个新的用户  CRE

这期内容当中小编将会给大家带来有关postgresql中有哪些常用的sql语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

  创建新的用户

  创建一个新的用户

  CREATE USER WITH ENCRYPTED PASSWord '';

  用户授权

  授予 CONNECT 访问权限

  GRANT CONNECT ON DATABASE database_name TO username;

  然后授予模式使用

  GRANT USAGE ON SCHEMA schema_name TO username;

  为特定表授予 SELECT 权限

  GRANT SELECT ON table_name TO username;

  将 SELECT 授予多个表

  # 执行格式

  GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO username;

  # 例子

  grant select on all tables in schema public to user1;

  如果您希望将来自动授予对新表的访问权限,则必须更改默认值

  ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name GRANT SELECT ON TABLES TO username;

  创建数据库

  创建以 utf-8 字符的数据库,并且以 template0 为模版创建

  CREATE DATABASE dbname WITH OWNER = postgres TEMPLATE = template0 ENcoding = 'UTF8';

  给指定用户授指定数据库所有权限

  GRANT ALL PRIVILEGES ON DATABASE dbname to username;

  在执行登陆操作后提示 FATAL: role 'root' is not permitted to log in.

  alter user "root" login;

  数据库备份与恢复

  备份所有数据库

  pg_dumpall > db.out

  恢复所有数据库

  # 执行这个命令的时候连接到哪个数据库无关紧要,因为pg_dumpall 创建的脚本将会包含恰当的创建和连接数据库的命令

  psql -f db.out postgres

  备份单个数据库

  pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) > /data/dum.sql

  恢复单个数据库

  psql -U postgres(用户名) 数据库名(缺省时同用户名) < /data/dum.sql

  备份单个数据库并压缩

  pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) | gzip > /data/dum.sql.gz

  恢复单个压缩数据库备份

  gunzip < /data/dum.sql.gz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)

  备份单表操作

  pg_dump -U postgres -h localhost -p 5432 -t staff -f staff.sql yjl(表示数据库名称)

  -U 表示用户

  -h 表示主机

  -p 表示端口号

  -t 表示表名

  -f 表示备份后的sql文件的名字

  -d 表示要恢复数据库名称

  恢复数据单表操作

  psql -U postgres -h localhost -p 5432 -d product -f staff.sql

  查询当前链接

  查询当前连接数

  # 统计当前所有连接数

  select count(1) from pg_stat_activity;

  # 查询当前连接数详细信息

  select * from pg_stat_activity;

  查询最大连接数

  show max_connections;

  # 最大连接数也可以在pg配置文件中配置:

  # 在 postgresql.conf 中设置:

  max_connections = 500

  统计数据库占用磁盘大小

  统计各数据库占用磁盘大小

  SELECT d.datname AS Name, pg_catalog.pg_get_userbyid(d.datdba) AS Owner,

  CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')

  THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))

  ELSE 'No Access'

  END AS SIZE

  FROM pg_catalog.pg_database d

  ORDER BY

  CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')

  THEN pg_catalog.pg_database_size(d.datname)

  ELSE NULL

  END DESC -- nulls first

  LIMIT 20

  统计数据库中各表占用磁盘大小

  # 只显示表名和占用磁盘大小

  SELECT

  table_schema || '.' || table_name AS table_full_name,

  pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size

  FROM infORMation_schema.tables

  ORDER BY

  pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;

  # 详细显示各个参数并按数据库占用大小排序

  SELECT *, pg_size_pretty(total_bytes) AS total

  , pg_size_pretty(index_bytes) AS INDEX

  , pg_size_pretty(toast_bytes) AS toast

  , pg_size_pretty(table_bytes) AS TABLE

  FROM (

  SELECT *, total_bytes-index_bytes-COALESCE(toast_bytes,0) AS table_bytes FROM (

  SELECT c.oid,nspname AS table_schema, relname AS TABLE_NAME

  , c.reltuples AS row_estimate

  , pg_total_relation_size(c.oid) AS total_bytes

  , pg_indexes_size(c.oid) AS index_bytes

  , pg_total_relation_size(reltoastrelid) AS toast_bytes

  FROM pg_class c

  LEFT JOIN pg_namespace n ON n.oid = c.relnamespace

  WHERE relkind = 'r'

  ) a

  ) a ORDER BY total_bytes desc;

  查看 PostgreSQL 正在执行的 SQL

  SELECT

  procpid,

  start,

  now() - start AS lap,

  current_query

  FROM

  (SELECT

  backendid,

  pg_stat_get_backend_pid(S.backendid) AS procpid,

  pg_stat_get_backend_activity_start(S.backendid) AS start,

  pg_stat_get_backend_activity(S.backendid) AS current_query

  FROM

  (SELECT pg_stat_get_backend_idset() AS backendid) AS S

  ) AS S

  WHERE

  current_query <> ''

  ORDER BY

  lap DESC;

  # 参数解释

  procpid:进程id

  start:进程开始时间

  lap:经过时间

  current_query:执行中的sql

  # 通过命令:

  =# select pg_cancel_backend(线程id);

  来kill掉指定的SQL语句。(这个函数只能 kill Select 查询,而updae,delete DML不生效)。

  # 使用

  =# select pg_terminate_backend(pid int)

  可以kill 各种DML(SELECT,UPDATE,DELETE,DROP)操作。

  虽然可以使用 kill -9 来强制删除用户进程,但是不建议这么去做。

  因为:对于执行 update 的语句来说,kill掉进程,可能会导致 Postgres 进入到 recovery mode;而在 recovery mode 下,会表,不允许链接数据库。

上述就是小编为大家分享的PostgreSQL中有哪些常用的SQL语句了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: PostgreSQL中有哪些常用的SQL语句

本文链接: https://www.lsjlt.com/news/58160.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PostgreSQL中有哪些常用的SQL语句
    这期内容当中小编将会给大家带来有关PostgreSQL中有哪些常用的SQL语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  创建新的用户  创建一个新的用户  CRE...
    99+
    2024-04-02
  • PostgreSQL DBA常用SQL查询语句有哪些
    本篇内容介绍了“PostgreSQL DBA常用SQL查询语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • 常用的SQL语句有哪些
    本篇内容介绍了“常用的SQL语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ~~~~~~~数据库...
    99+
    2024-04-02
  • SQL server中有哪些常用的语句
    SQL server中有哪些常用的语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、 简单查询&nbs...
    99+
    2024-04-02
  • MySQL中有哪些常用的SQL语句
    MySQL中有哪些常用的SQL语句,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、复杂SQL查询1.1、单表查询(1)选择指定的列[例]查询...
    99+
    2024-04-02
  • 常用SQL语句有哪些
    这篇文章将为大家详细讲解有关常用SQL语句有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。问...
    99+
    2024-04-02
  • Oracle中有哪些常用的SQL语句
    Oracle中有哪些常用的SQL语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 查找数据库中所有字段 ...
    99+
    2024-04-02
  • sql中常见语句有哪些
    小编给大家分享一下sql中常见语句有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!结构化查询语言(Structured Qu...
    99+
    2024-04-02
  • 最常用的SQL语句有哪些
    本篇内容介绍了“最常用的SQL语句有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!(1)数据记录筛选:...
    99+
    2024-04-02
  • clickhouse常用的sql语句有哪些
    查询表中所有数据:SELECT * FROM table_name; 查询特定列的数据:SELECT col1, ...
    99+
    2024-04-09
    clickhouse sql
  • DBA常用SQL语句有哪些
    DBA常用SQL语句有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 select tablespace_...
    99+
    2024-04-02
  • postgresql常用的sql语句分享
    这篇文章主要介绍“postgresql常用的sql语句分享”,在日常操作中,相信很多人在postgresql常用的sql语句分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • sqlserver dba常用的sql语句有哪些
    这篇文章主要讲解了“sqlserver dba常用的sql语句有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“sqlserver dba常用的sql语句...
    99+
    2024-04-02
  • 常用的sql语句具体有哪些
    常用的sql语句具体有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. SELECT d.VALUE &nb...
    99+
    2024-04-02
  • postgresql 常用SQL语句小结
    目录1、查询链接数2、查看死锁状态3、删除死锁进程4、备份数据库5、还原数据库6、插入数据插入单条数据插入多条数据从一张表查询到的数据插入到另一张表7 、查询pg中单张表的大小(不包含索引)8、查询数据库中所有表的大小9...
    99+
    2022-11-19
    postgresql 常用SQL
  • MYSQL常用sql语句有哪些呢
    这篇文章给大家介绍MYSQL常用sql语句有哪些呢,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 SQL分类: DDL—数据定义语言(CREAT...
    99+
    2024-04-02
  • Mysql数据库中有哪些常用的sql语句
    Mysql数据库中有哪些常用的sql语句?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。SQL语句进阶1.查询字段:————查询所有字段 sel...
    99+
    2024-04-02
  • 数据库常用的sql语句有哪些
    这篇文章主要为大家展示了“数据库常用的sql语句有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库常用的sql语句有哪些”这篇文章吧。SQL是目前使用最...
    99+
    2024-04-02
  • MYSQL常用的基本SQL语句有哪些
    这篇文章主要讲解了“MYSQL常用的基本SQL语句有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MYSQL常用的基本SQL语句有哪些”吧!mysql服...
    99+
    2024-04-02
  • 数据库常用sql语句有哪些
    常用的数据库SQL语句包括:1. SELECT:从数据库中查询数据2. INSERT:向数据库中插入新的数据3. UPDATE:更新...
    99+
    2023-09-05
    SQL 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作