PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Ukuran Tabel Partisi di PostgreSQL 9.0

Di PostgreSQL, setiap tabel adalah objek, menggunakan pg_relation_size('object_name') akan memberikan ukuran objek. Jika Anda mengirim tabel partisi sebagai ganti 'object_name', itu hanya memberikan ukuran objek itu tetapi bukan ukuran tabel anak.

Lihat contoh yang diberikan di bawah ini.

postgres=# dt+
List of relations
Schema | Name | Type | Owner | Size | Description
--------+---------------+-------+----------+------------+-------------
public | child1 | table | postgres | 8192 bytes |
public | child2 | table | postgres | 8192 bytes |
public | parent | table | postgres | 0 bytes |
(3 rows)

pg_relation_size() pada tabel induk tidak akan memberikan ukuran yang tepat.

postgres=# select pg_size_pretty(pg_relation_size('parent'));
pg_size_pretty
----------------
0 bytes
(1 row)

Untuk mencapai ukuran tabel partisi, pertama-tama ketahui tabel anak yang bersangkutan dan ukurannya. Menggunakan tabel katalog pg_inherits akan membantu dalam mendapatkan informasi tabel anak dengan ukuran dan kemudian menjumlahkannya untuk ukuran yang tepat. Saya telah mencoba menulis fungsi kecil menggunakan pg_inherits untuk menyelesaikannya.

CREATE OR REPLACE FUNCTION pg_partition_table_size(text) returns numeric as
$$
select sum(to_number(pg_size_pretty(pg_relation_size(inhrelid::regclass)),'999999999')) from pg_inherits where inhparent=$1::regclass;
$$ language sql;

Sekarang, kirim tabel partisi ke fungsi tersebut.

postgres=# select pg_partition_table_size('parent');
pg_partition_table_size
-------------------------
16384
(1 row)

Apakah itu tidak berguna. Kirimkan komentar Anda, mereka akan sangat dihargai.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Susunan tidak bersarang dengan satu tingkat

  2. daftar postgresql dan pesan tabel berdasarkan ukuran

  3. Pembaruan Versi PostgreSQL Docker PGMASTER

  4. Menggunakan pt-pg-summary Percona Toolkit untuk PostgreSQL

  5. ekspresi reguler internasionalisasi di postgresql