зеркало из
				https://github.com/iharh/notes.git
				synced 2025-11-02 22:56:09 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			60 строки
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			60 строки
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
https://www.postgresql.org/docs/current/storage.html
 | 
						|
https://www.postgresql.org/docs/current/storage-page-layout.html
 | 
						|
https://postgrespro.ru/docs/postgrespro/current/storage-page-layout
 | 
						|
hot
 | 
						|
https://www.postgresql.org/docs/current/storage-hot.html
 | 
						|
    ! pg_stat_all_tables
 | 
						|
 | 
						|
!!!
 | 
						|
https://github.com/dmagda/DevMastersDb/blob/main/postgres/postgres_mvcc_backstage.md
 | 
						|
    https://postgrespro.com/blog/pgsql/5967910
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/449704/
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/483768/
 | 
						|
https://opensource-db.com/postgresql-mvcc/
 | 
						|
    !!! *from -> show hidden columns (ctid, xmin, xmax)
 | 
						|
https://cloud.google.com/blog/products/databases/deep-dive-into-postgresql-vacuum-garbage-collector
 | 
						|
    !!!
 | 
						|
https://dev.to/nilelazarus/series/23873
 | 
						|
    https://dev.to/nilelazarus/demystifying-the-internals-of-postgresql-chapter-5-2pe4
 | 
						|
 | 
						|
2024
 | 
						|
Otus - MVCC, vacuum and autovacuum in PG ru of 1:22:40
 | 
						|
    https://www.youtube.com/watch?v=mrobq6Ggggc
 | 
						|
    ! 12:00 - pg_size_pretty, pg_total_relation_size
 | 
						|
    ! 25:00 - insert
 | 
						|
    !   add new record with xmin=txid_current(), xmax=0
 | 
						|
    !   delete - xmax=txid_current()
 | 
						|
    !   update - for old record we do delete
 | 
						|
    !     xmax=txid_current(), 
 | 
						|
    !   for new one - insert
 | 
						|
    !     xmin=txid_current(), xmax=0
 | 
						|
    ! 26:00 rollback - xmax_aborted
 | 
						|
    ! 28:00 select *, xmin, xmax, cmin, cmax, ctid from user_data;
 | 
						|
    ! 29:00 select * from pg_stat_user_tables;
 | 
						|
    !   n_live_tup, n_dead_tup, ratio%, last_autovacuum, ...
 | 
						|
    ! 31:00 - ... from heap_page_items(get_raw_page('user_data', 0)) -- neet to set ext
 | 
						|
    !   https://www.postgresql.org/docs/current/pageinspect.html
 | 
						|
    !   https://eax.me/pageinspect/
 | 
						|
    ! 44:00 vacuum_cost_delay, vacuum_cost_limit, vacuum_cost_page_miss, vacuum_cost_page_dirty
 | 
						|
    ! 54:00
 | 
						|
    !   create table ... (with autovacuum_enabled=off)
 | 
						|
    !   alter table <rel> set (autovacuum_enabled=on);
 | 
						|
    ! 55:00 vacuum verbose <rel>;
 | 
						|
    !   pg_relation_filepath('<rel>');
 | 
						|
    ! 58:00
 | 
						|
    !   pg_squeeze ext is not so lock-agressive (gh/cybertec_postgresql/...)
 | 
						|
2022
 | 
						|
https://habr.com/ru/companies/quadcode/articles/671254/
 | 
						|
    !
 | 
						|
2020
 | 
						|
https://postgrespro.com/blog/pgsql/5967856
 | 
						|
????
 | 
						|
Rogov - MVCC
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/452762/
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/452320/
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/446652/
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/445820/
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/444536/
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/455590/    
 | 
						|
    https://habr.com/ru/companies/postgrespro/articles/442804/
 |