Skip to content

Tabelite suurused Postgresql andmebaasis

Teinekord on selgust vaja saada mis tabelid haaravad andmebaasis suurima mahu. Selline lihtne päring on abiks (näitab ära ka toast-tabelid):

SELECT nspname || '.' || relname AS relation, pg_size_pretty(pg_relation_size(C.oid)) AS size
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_relation_size(C.oid) DESC
LIMIT 25;

Kui toast-tabeleid pole eraldi vaja, siis vaata infot nii:

SELECT nspname || '.' || relname AS relation, pg_size_pretty(pg_total_relation_size(C.oid)) AS total_size
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
AND C.relkind <> 'i'
AND nspname !~ '^pg_toast'
ORDER BY pg_total_relation_size(C.oid) DESC
LIMIT 25;

Kui aga tahad näha indeksite kasutust, siis nii (allikas Evan Hoffman):

SELECT schemaname, tablename,
pg_size_pretty(pg_relation_size(schemaname || '.' || tablename)) AS size_p,
pg_total_relation_size(schemaname || '.' || tablename) AS size,
pg_size_pretty(pg_total_relation_size(schemaname || '.' || tablename)) AS total_size_p,
pg_total_relation_size(schemaname || '.' || tablename) - pg_relation_size(schemaname || '.' || tablename) AS index_size,
(100*(pg_total_relation_size(schemaname || '.' || tablename) - pg_relation_size(schemaname || '.' || tablename)))/CASE WHEN pg_total_relation_size(schemaname || '.' || tablename) = 0 THEN 1 ELSE pg_total_relation_size(schemaname || '.' || tablename) END || '%' AS index_pct
FROM pg_tables
ORDER BY size DESC LIMIT 25;

Muudame kataloogitäie piltide suurust ja nime

Sul on näiteks kataloogitäis jpg-faile, mida on vaja sobitada ühte suurusesse. Selline lihtne toiming aitab (kui sul on muud vormingud, siis tee vajalikud asendused ning ära unusta tõstutundlikkust ja loomulikult convert käsule vajalikke võtmeid juurde lisada).

convert *.jpg -resize 600 -set filename:f 'prefiks-%t' '%[filename:f].jpg'

Siin näites resize 600 teeb kõik pildid 600 piksli laiuseks ning kõrguse sätib vastavalt algse faili proportsioonidele. Kõiki muid variante leiad Imagemagick Resizing or Scaling lehelt. Set filename ... aga moodustab uue faili nime algsest nimest (seda teeb %t) ilma laiendita ning paneb ette sõna prefiks (kirjuta sinna mida vaja või pane ta lõppu kui vaja). Kõiki asendusi saad vaadata lehelt Imagemagick Format and Print Image Properties.

Kui convert käsk midagi huvitavat ei tee, siis on ehk imagemagick arvutist puudu (või otsiteest väljas) ja "aptitude install imagemagick" lahendab olukorra (midagi sama on ka rpm-distrote jaoks ning leidub ka installikas maci ja windowsi jaoks). Siin on soovitus meelega convert, mitte mogrify käsu kohta (esimene jätab vaikimisi vanad failid alles, teine mitte).

Linuxile on saadaval uue renderdusmootoriga Opera

Teatavasti loobus Opera enam kui aasta tagasi oma renderdusmootorist ning võttis kasutusele WebKit'ist kahvlisse aetud Blink'i. Samaga ilmusid ka uued Opera versioonid Windowsi ja Mac OS X platvormidele (Opera versioonid alates 15'st). Opera Linuxi variant jäi aga Presto-põhise 12.16 juurde.

Selle aasta alguses võeti ka Opera Linuxi-arendus jälle ette ning eile ilmus esimene Opera versioon Linuxile (v 26). Arendajad ise ütlevad et toimib vaid Ubuntus, kuid minul töötab probleemitult ka Debianis ning ilmselt ka muudes .deb põhistes distributsioonides (näiteks Mint). Kes tunneb huvi, siis asi hargneb siit deb.opera.com. Kui seni tuli installida pakk nimega opera, siis nüüd on nimeks opera-stable ning praktikas tähendab see et uus ja vana Opera saavad Linuxis kõrvuti eksisteerida (vana versiooni kasutamine pole turvalisuses mõttes küll hea idee).

Kui varem pole olemas polnud, siis paigalduse käigus lisatakse süsteemi ka pepperflashplugin-nonfree, mis on wrapper-skript PPAPI-põhise flashi plugina lisamiseks (laeb alla Google Chrome ning pakib sealt lahti vaid flashi plugina).