日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → PostgreSQL 查看數(shù)據(jù)庫(kù),索引,表,表空間大小實(shí)例代碼

      PostgreSQL 查看數(shù)據(jù)庫(kù),索引,表,表空間大小實(shí)例代碼

      相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/4/19 10:46:49字體大。A-A+

      作者:西西點(diǎn)擊:2次評(píng)論:0次標(biāo)簽: PostgreSQL

      • 類(lèi)型:數(shù)據(jù)庫(kù)類(lèi)大。3.5M語(yǔ)言:英文 評(píng)分:5.0
      • 標(biāo)簽:
      立即下載

      PostgreSQL 提供了多個(gè)系統(tǒng)管理函數(shù)來(lái)查看表,索引,表空間及數(shù)據(jù)庫(kù)的大小,下面詳細(xì)介紹一下。

      一、數(shù)據(jù)庫(kù)對(duì)象尺寸函數(shù)

      PSe: collapse; color: rgb(51, 51, 51); font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 25px; width: 922px; height: 348px;">
      函數(shù)名返回類(lèi)型描述
      pg_column_size(any)int存儲(chǔ)一個(gè)指定的數(shù)值需要的字節(jié)數(shù)(可能壓縮過(guò))
      pg_database_size(oid)bigint指定OID的數(shù)據(jù)庫(kù)使用的磁盤(pán)空間
      pg_database_size(name)bigint指定名稱的數(shù)據(jù)庫(kù)使用的磁盤(pán)空間
      pg_indexes_size(regclass)bigint關(guān)聯(lián)指定表OID或表名的表索引的使用總磁盤(pán)空間
      pg_relation_size(relation regclass, fork text)bigint指定OID或名的表或索引,通過(guò)指定fork('main', 'fsm' 或'vm')所使用的磁盤(pán)空間
      pg_relation_size(relation regclass)bigintpg_relation_size(..., 'main')的縮寫(xiě)
      pg_size_pretty(bigint)textConverts a size in bytes expressed as a 64-bit integer into a human-readable format with size units
      pg_size_pretty(numeric)text把以字節(jié)計(jì)算的數(shù)值轉(zhuǎn)換成一個(gè)人類(lèi)易讀的尺寸單位
      pg_table_size(regclass)bigint指定表OID或表名的表使用的磁盤(pán)空間,除去索引(但是包含TOAST,自由空間映射和可視映射)
      pg_tablespace_size(oid)bigint指定OID的表空間使用的磁盤(pán)空間
      pg_tablespace_size(name)bigint指定名稱的表空間使用的磁盤(pán)空間
      pg_total_relation_size(regclass)bigint指定表OID或表名使用的總磁盤(pán)空間,包括所有索引和TOAST數(shù)據(jù)

      二、實(shí)例講解

      2.1 查看存儲(chǔ)一個(gè)指定的數(shù)值需要的字節(jié)數(shù)

      david=# select pg_column_size(1);     

       pg_column_size 
      ----------------
                    4
      (1 row)
      
      david=# select pg_column_size(10000);
       pg_column_size 
      ----------------
                    4
      (1 row)
      
      david=# select pg_column_size('david');
       pg_column_size 
      ----------------
                    6
      (1 row)
      
      david=# select pg_column_size('hello,world');
       pg_column_size 
      ----------------
                   12
      (1 row)
      
      david=# select pg_column_size('2013-04-18 15:17:21.622885+08');
       pg_column_size 
      ----------------
                   30
      (1 row)
      
      david=# select pg_column_size('中國(guó)');                         
       pg_column_size 
      ----------------
                    7
      (1 row)
      
      david=# 

      2.2 查看數(shù)據(jù)庫(kù)大小

      查看原始數(shù)據(jù)

      david=# \d test

                    Table "public.test"
        Column   |         Type          | Modifiers 
      -----------+-----------------------+-----------
       id        | integer               | 
       name      | character varying(20) | 
       gender    | boolean               | 
       join_date | date                  | 
       dept      | character(4)          | 
      Indexes:
          "idx_join_date_test" btree (join_date)
          "idx_test" btree (id)
      
      david=# select count(1) from test;
        count  
      ---------
       1835008
      (1 row)
      
      david=# 

      查看david 數(shù)據(jù)庫(kù)大小

      david=# select pg_database_size('david');

       pg_database_size 
      ------------------
              190534776
      (1 row)
      
      david=# 

      查看所有數(shù)據(jù)庫(kù)大小

      david=# select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;                

        datname  |    size     
      -----------+-------------
       template0 |     6513156
       postgres  |     6657144
       jboss     |     6521348
       bugs      |     6521348
       david     |   190534776
       BMCV3     | 28147135608
       mydb      |    10990712
       template1 |     6521348
      (8 rows)
      
      david=# 

      這樣查出來(lái)的結(jié)果,看上去太長(zhǎng)了,不太容易讀數(shù)。

      2.3 以人性化的方式顯示大小

      david=# select pg_size_pretty(pg_database_size('david'));

       pg_size_pretty 
      ----------------
       182 MB
      (1 row)
      
      david=# 

      2.4 查看單索引大小

      david=# select pg_relation_size('idx_test');

       pg_relation_size 
      ------------------
               41238528
      (1 row)
      
      david=# select pg_size_pretty(pg_relation_size('idx_test'));
       pg_size_pretty 
      ----------------
       39 MB
      (1 row)
      
      david=# 

      david=# select pg_size_pretty(pg_relation_size('idx_join_date_test'));

       pg_size_pretty 
      ----------------
       39 MB
      (1 row)
      
      david=# 

      2.5 查看指定表中所有索引大小

      david=# select pg_indexes_size('test');                  

       pg_indexes_size 
      -----------------
              82477056
      (1 row)
      
      david=# select pg_size_pretty(pg_indexes_size('test'));
       pg_size_pretty 
      ----------------
       79 MB
      (1 row)
      
      david=# 

      idx_test 和idx_join_date_test 兩個(gè)索引大小加起來(lái)差不多等于上面pg_indexes_size() 查詢出來(lái)的索引大小。

      2.6 查看指定schema 里所有的索引大小,按從大到小的順序排列。

      david=# select * from pg_namespace;

            nspname       | nspowner |               nspacl                
      --------------------+----------+-------------------------------------
       pg_toast           |       10 | 
       pg_temp_1          |       10 | 
       pg_toast_temp_1    |       10 | 
       pg_catalog         |       10 | {postgres=UC/postgres,=U/postgres}
       information_schema |       10 | {postgres=UC/postgres,=U/postgres}
       public             |       10 | {postgres=UC/postgres,=UC/postgres}
      (6 rows)
      
      david=# select indexrelname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_indexes where schemaname='public' order by pg_relation_size(relid) desc;
               indexrelname          | pg_size_pretty 
      -------------------------------+----------------
       idx_join_date_test            | 91 MB
       idx_test                      | 91 MB
       testtable_idx                 | 1424 kB
       city_pkey                     | 256 kB
       city11                        | 256 kB
       countrylanguage_pkey          | 56 kB
       sale_pkey                     | 8192 bytes
       track_pkey                    | 8192 bytes
       tbl_partition_201211_joindate | 8192 bytes
       tbl_partition_201212_joindate | 8192 bytes
       tbl_partition_201301_joindate | 8192 bytes
       tbl_partition_201302_joindate | 8192 bytes
       tbl_partition_201303_joindate | 8192 bytes
       customer_pkey                 | 8192 bytes
       album_pkey                    | 8192 bytes
       item_pkey                     | 8192 bytes
       tbl_partition_201304_joindate | 8192 bytes
       tbl_partition_201307_joindate | 8192 bytes
       tbl_partition_201305_joindate | 0 bytes
       tbl_partition_201306_joindate | 0 bytes
      (20 rows)
      
      david=# 

      2.7 查看指定表大小

      david=# select pg_relation_size('test');                

       pg_relation_size 
      ------------------
               95748096
      (1 row)
      
      david=# select pg_size_pretty(pg_relation_size('test'));
       pg_size_pretty 
      ----------------
       91 MB
      (1 row)
      
      david=# 

      使用pg_table_size() 函數(shù)查看

      david=# select pg_table_size('test');                   

       pg_table_size 
      ---------------
            95789056
      (1 row)
      
      david=# select pg_size_pretty(pg_table_size('test'));   
       pg_size_pretty 
      ----------------
       91 MB
      (1 row)
      
      david=# 

      2.8 查看指定表的總大小

      david=# select pg_total_relation_size('test');       

       pg_total_relation_size 
      ------------------------
                    178266112
      (1 row)
      
      david=# select pg_size_pretty(pg_total_relation_size('test'));
       pg_size_pretty 
      ----------------
       170 MB
      (1 row)
      
      david=# 

      2.9 查看指定schema 里所有的表大小,按從大到小的順序排列。

      david=# select relname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_tables where schemaname='public' order by pg_relation_size(relid) desc;

                  relname            | pg_size_pretty 
      -------------------------------+----------------
       test                          | 91 MB
       testtable                     | 1424 kB
       city                          | 256 kB
       countrylanguage               | 56 kB
       country                       | 40 kB
       testcount                     | 8192 bytes
       tbl_partition_201302          | 8192 bytes
       tbl_partition_201303          | 8192 bytes
       person                        | 8192 bytes
       customer                      | 8192 bytes
       american_state                | 8192 bytes
       tbl_david                     | 8192 bytes
       emp                           | 8192 bytes
       tbl_partition_201212          | 8192 bytes
       tbl_partition_201304          | 8192 bytes
       tbl_partition_error_join_date | 8192 bytes
       tbl_partition_201211          | 8192 bytes
       album                         | 8192 bytes
       tbl_partition_201307          | 8192 bytes
       tbl_xulie                     | 8192 bytes
       tbl_partition_201301          | 8192 bytes
       sale                          | 8192 bytes
       item                          | 8192 bytes
       track                         | 8192 bytes
       tbl_partition_201306          | 0 bytes
       tbl_partition                 | 0 bytes
       tbl_partition_201305          | 0 bytes
       person2                       | 0 bytes
      (28 rows)
      
      david=# 

      2.10 查看表空間大小

      david=# select spcname from pg_tablespace;

        spcname   
      ------------
       pg_default
       pg_global
      (2 rows)
      
      david=# select pg_tablespace_size('pg_default');                
       pg_tablespace_size 
      --------------------
              28381579760
      (1 row)
      
      david=# select pg_size_pretty(pg_tablespace_size('pg_default'));
       pg_size_pretty 
      ----------------
       26 GB
      (1 row)
      
      david=# 

      另一種查看方法:

      david=# select pg_tablespace_size('pg_default')/1024/1024 as "SIZE M";     

       SIZE M 
      --------
        27066
      (1 row)
      
      david=# select pg_tablespace_size('pg_default')/1024/1024/1024 as "SIZE G"; 
       SIZE G 
      --------
           26
      (1 row)
      
      david=# 

        相關(guān)評(píng)論

        閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過(guò)難過(guò)
        • 5 囧
        • 3 圍觀圍觀
        • 2 無(wú)聊無(wú)聊

        熱門(mén)評(píng)論

        最新評(píng)論

        發(fā)表評(píng)論 查看所有評(píng)論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)