验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

怎么查看PostgreSQL数据库中所有表

阅读:312 来源:乙速云 作者:代码code

怎么查看PostgreSQL数据库中所有表

      查看PostgreSQL数据库中所有表

      作为曾经干过运维的我来说,或许对大部分运维人员来说,不能依靠管理工具来操作数据库,如pgAdmin,经常远程登录到某一台数据库服务器,使用命令行的方式查询数据库中的表。

      获取当前db中所有的表信息。

      select * from pg_tables;

      用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下

      select tablename from pg_tables where schemaname='public'
      postgres=# select tablename from pg_tables where schemaname='public';
       tablename
      -----------
       tb_test
      (1 行记录)

      想要进一步查看表结构,可以使用d 表名

      postgres=# d tb_test;
                      数据表 "public.tb_test"
       栏位 |      类型      | Collation | Nullable | Default
      ------+----------------+-----------+----------+---------
       id   | integer        |           |          |
       name | character(100) |           |          |

      而且如果不是大批量的进行CRUD,直接在命令行中操作也是锻炼你的语法水平的时候

      postgres=# insert into tb_test(id,name) values(1,'huangbaokang');
      INSERT 0 1
      postgres=# select * from tb_test;
       id |                                                 name
      
      ----+-----------------------------------------------------------------
      ---------------------------
        1 | huangbaokang
      
      (1 行记录)

      PostgreSQL数据库表空间,索引,表大小查询

      Postgresql 数据库

      一: 查询表空间大小

      select pg_size_pretty(pg_tablespace_size('pg_default'));

      二: 查询所有数据库大小

      select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size from pg_databas;

      三: 查询指定索引大小

      select pg_size_pretty(pg_relation_size('索引字段名'));

      四: 查询指定表所有索引大小

      select pg_size_pretty(pg_indexes_size('表名'));

      五: 查询指定模式里所有的索引大小,按从大到小的顺序排列

      select relname,indexrelname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_indexes where schemaname='模式名' order by pg_relation_size(relid) desc;

      六: 查询指定表大小(仅仅指定表数据)

      select pg_size_pretty(pg_relation_size('表名'));

      七: 查询指定表总大小(包括表数据与索引)

      select pg_size_pretty(pg_total_relation_size('表名'));

      八: 查询指定模式里面所有表大小(仅仅指定表数据,从大到小)

      select relname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_tables where schemaname='模式名' order by pg_relation_size(relid) desc;

      九:查询指定schema里面所有表数据大小,总索引大小,总大小,行数

      SELECT
          table_size.relname 表名,
          pg_size_pretty ( pg_relation_size ( relid ) ) 表数据大小,
          pg_size_pretty ( pg_indexes_size ( relid ) ) 表总索引大小,
          pg_size_pretty ( pg_total_relation_size ( relid ) ) 表总大小,
          表行数 
      FROM
      pg_stat_user_tables table_size
          LEFT JOIN (
              SELECT
                  relname,
                  reltuples :: DECIMAL ( 19, 0 ) 表行数 
              FROM
              pg_class r
              JOIN pg_namespace n ON ( relnamespace = n.oid ) 
              WHERE
                  relkind = 'r' 
                  AND n.nspname = '模式名' 
              ) table_num ON table_num.relname = table_size.relname 
      WHERE
          schemaname = '模式名' 
      ORDER BY
          pg_relation_size ( relid ) DESC;
    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>