zoukankan      html  css  js  c++  java
  • postgresql 查看数据库,表,索引,表空间以及大小

    转载 http://blog.51yip.com/pgsql/1525.html

    1,查看数据库

    playboy=> l                       //加上字母l,相当于mysql的,mysql> show databases;
            List of databases
       Name    |  Owner   | Encoding
    -----------+----------+----------
     playboy   | postgres | UTF8
     postgres  | postgres | UTF8
     template0 | postgres | UTF8
     template1 | postgres | UTF8
    
    playboy=> select pg_database_size('playboy');    //查看playboy数据库的大小
     pg_database_size
    ------------------
              3637896
    (1 row)
    
    playboy=> select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;    //查看所有数据库的大小
      datname  |  size
    -----------+---------
     postgres  | 3621512
     playboy   | 3637896
     template1 | 3563524
     template0 | 3563524
    (4 rows)
    
    playboy=> select pg_size_pretty(pg_database_size('playboy'));      //以KB,MB,GB的方式来查看数据库大小
     pg_size_pretty
    ----------------
     3553 kB
    (1 row)

    2,查看多表

    playboy=> dt                      //相当于mysql的,mysql> show tables;
            List of relations
     Schema | Name | Type  |  Owner
    --------+------+-------+---------
     public | test | table | playboy
    (1 row)

    3,查看单表

    playboy=> d test;                 //相当于mysql的,mysql> desc test;
                Table "public.test"
     Column |         Type          | Modifiers
    --------+-----------------------+-----------
     id     | integer               | not null
     name   | character varying(32) |
    Indexes: "playboy_id_pk" PRIMARY KEY, btree (id)
    
    playboy=> select pg_relation_size('test');   //查看表大小
     pg_relation_size
    ------------------
                    0
    (1 row)
    
    playboy=> select pg_size_pretty(pg_relation_size('test'));   //以KB,MB,GB的方式来查看表大小
     pg_size_pretty
    ----------------
     0 bytes
    (1 row)
    
    playboy=> select pg_size_pretty(pg_total_relation_size('test'));   //查看表的总大小,包括索引大小
     pg_size_pretty
    ----------------
     8192 bytes
    (1 row)

    4,查看索引

    playboy=> di                      //相当于mysql的,mysql> show index from test;
                    List of relations
     Schema |     Name      | Type  |  Owner  | Table
    --------+---------------+-------+---------+-------
     public | playboy_id_pk | index | playboy | test
    (1 row)
    
    playboy=> select pg_size_pretty(pg_relation_size('playboy_id_pk'));    //查看索大小
     pg_size_pretty
    ----------------
     8192 bytes
    (1 row)

    5,查看表空间,以及大小

    playboy=> select spcname from pg_tablespace;         //查看所有表空间
      spcname
    ------------
     pg_default
     pg_global
    (2 rows)
    
    playboy=> select pg_size_pretty(pg_tablespace_size('pg_default'));   //查看表空间大小
     pg_size_pretty
    ----------------
     14 MB
    (1 row)

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

    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 limit 20;

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

    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
  • 相关阅读:
    Java配置jdk图文教程
    线程池介绍与应用
    继承机制的探讨
    1.深入分析_NIO性能分析
    1.类的加载机制_继承类的加载(一个小的Demo)说明
    githup创建新java项目
    UE常用快捷键使用
    堡垒机上传文件
    16.linux常用查看命令
    15.vi/vim编辑器下常用光标移动
  • 原文地址:https://www.cnblogs.com/goozgk/p/8108442.html
Copyright © 2011-2022 走看看