mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-13 17:49:43 +02:00
4f44aa04b5
kibitzing from Tom Lane. Large objects are now all stored in a single system relation "pg_largeobject" --- no more xinv or xinx files, no more relkind 'l'. This should offer substantial performance improvement for large numbers of LOs, since there won't be directory bloat anymore. It'll also fix problems like running out of locktable space when you access thousands of LOs in one transaction. Also clean up cruft in read/write routines. LOs with "holes" in them (never-written byte ranges) now work just like Unix files with holes do: a hole reads as zeroes but doesn't occupy storage space. INITDB forced!
60 lines
1.5 KiB
Plaintext
60 lines
1.5 KiB
Plaintext
VACUUM;
|
|
--
|
|
-- sanity check, if we don't have indices the test will take years to
|
|
-- complete. But skip TOAST relations since they will have varying
|
|
-- names depending on the current OID counter.
|
|
--
|
|
SELECT relname, relhasindex
|
|
FROM pg_class
|
|
WHERE relhasindex AND relkind != 't'
|
|
ORDER BY relname;
|
|
relname | relhasindex
|
|
---------------------+-------------
|
|
bt_f8_heap | t
|
|
bt_i4_heap | t
|
|
bt_name_heap | t
|
|
bt_txt_heap | t
|
|
fast_emp4000 | t
|
|
hash_f8_heap | t
|
|
hash_i4_heap | t
|
|
hash_name_heap | t
|
|
hash_txt_heap | t
|
|
ihighway | t
|
|
num_exp_add | t
|
|
num_exp_div | t
|
|
num_exp_ln | t
|
|
num_exp_log10 | t
|
|
num_exp_mul | t
|
|
num_exp_power_10_ln | t
|
|
num_exp_sqrt | t
|
|
num_exp_sub | t
|
|
onek | t
|
|
pg_aggregate | t
|
|
pg_am | t
|
|
pg_amop | t
|
|
pg_attrdef | t
|
|
pg_attribute | t
|
|
pg_class | t
|
|
pg_description | t
|
|
pg_group | t
|
|
pg_index | t
|
|
pg_inherits | t
|
|
pg_language | t
|
|
pg_largeobject | t
|
|
pg_listener | t
|
|
pg_opclass | t
|
|
pg_operator | t
|
|
pg_proc | t
|
|
pg_relcheck | t
|
|
pg_rewrite | t
|
|
pg_statistic | t
|
|
pg_trigger | t
|
|
pg_type | t
|
|
road | t
|
|
serialtest | t
|
|
shighway | t
|
|
tenk1 | t
|
|
tenk2 | t
|
|
(45 rows)
|
|
|