Portál AbcLinuxu, 18. července 2025 13:25


Dotaz: PostgreSQL 8.1 - autovacuum / reindex

6.5.2008 23:01 Phil | skóre: 4
PostgreSQL 8.1 - autovacuum / reindex
Přečteno: 1097×
Odpovědět | Admin
Dobrý den,

mám 2 otázky ohledně PostgreSQL 8.1 / CentOS 5.

1) autovacuum
Jestli tomu dobře rozumím, autovacuum při každém spuštění kontroluje jednu DB, ale vacuum a analyze spustí jen když je třeba (překročí-li vypočítaný vacuum/analyze treshold).

Lze tedy nechat default nastavení pro DB 1GB / 15 000 000 záznamů (s cca 30 000 záznamy denně)? Není naptime zbytečně nízký?

###########################################
autovacuum = on                
autovacuum_naptime = 60
autovacuum_vacuum_threshold = 1000
autovacuum_analyze_threshold = 500
autovacuum_vacuum_scale_factor = 0.4
autovacuum_analyze_scale_factor = 0.2
autovacuum_vacuum_cost_delay = -1
autovacuum_vacuum_cost_limit = -1
###########################################

2) reindex - cron

Jak řešíte reindexaci pomocí CRONu (heslo pro usera postgres)?
su - postgres -c 'psql dbname -c "reindex database dbname"'


Děkuju všem za rady a připomínky.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.5.2008 07:46 cronin | skóre: 49
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Odpovědět | | Sbalit | Link | Blokovat | Admin
Skus http://forum.dbsvet.cz/.
7.5.2008 10:35 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Odpovědět | | Sbalit | Link | Blokovat | Admin
ad 1) nastavenie si treba odsledovať
ad 2) unix heslo: spustiť su pod rootom
7.5.2008 12:49 Phil | skóre: 4
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
ad 2) su - postgres spouštím pod rootem, ale jedná se o heslo vyžadované psql (v mysql lze zadat jako parametr, nevím jak v psql)
pavlix avatar 16.6.2008 02:24 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Postgresql funguje bez hesla, hlídá si systémové usery, tím se právě liší od velmi hloupého přístupu psaní hesel do skriptů.

Občas je potřeba trochu poladit pg_hba konfigurák, záleží na OS, v manuálu o tom je celá sekce (ident na místním stroji, ident po síti, ...).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
18.5.2008 00:01 Phil | skóre: 4
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Odpovědět | | Sbalit | Link | Blokovat | Admin
Odpovím si sám. ;-)

ad 2) PGPASSWORD=password psql dbname -U user -c "reindex database dbname"

/user musí být vlastníkem DB, netřeba superuser/
pavlix avatar 16.6.2008 02:26 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Kdybys někdy zjišťoval, jak nastavit to přihlašování bez hesel (doporučuju), a něco nevěděl, tak se klidně ozvi (viz patička).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
pavlix avatar 16.6.2008 02:27 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Hmm, tohle je pro mě novinka :). Někdy se třeba výjimečně bude hodit.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
16.6.2008 07:41 Pavel Stěhule
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Odpovím si sám. ;-)

ad 2) PGPASSWORD=password psql dbname -U user -c "reindex database dbname"

/user musí být vlastníkem DB, netřeba superuser/
to zrovna není bezpečné. Bezpečné je uložení hesel do .pgpass http://www.postgresql.org/docs/current/static/libpq-pgpass.html
pavlix avatar 16.6.2008 12:19 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Bezpečné je uložení hesel do .pgpass
Odvážné tvrzení :). Máš nějaké podklady, v čem je to nějak výrazně bezpečnější?

Podle mě je nejbezpečnější využít toho, že žádná hesla na lokálu nepotřebuješ. Neválí se ti zbytečné soubory se zbytečnými hesly, která postrádají jakýkoliv smysl.

Aneb hesla používat na to k čemu jsou dobrá, tzn k autentizaci tam, kde nevědí, jestli jste to vy. Psát jakákoliv hesla do skriptů nebo konfiguračních souborů považuju obecně za špatnou praktiku (jistě, často se tomu nejde vyhnout, ale to je omezení konkrétního software).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
16.6.2008 12:54 Pavel Stehule
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Bezpečné je uložení hesel do .pgpass
Odvážné tvrzení :). Máš nějaké podklady, v čem je to nějak výrazně bezpečnější?

Podle mě je nejbezpečnější využít toho, že žádná hesla na lokálu nepotřebuješ. Neválí se ti zbytečné soubory se zbytečnými hesly, která postrádají jakýkoliv smysl.

Aneb hesla používat na to k čemu jsou dobrá, tzn k autentizaci tam, kde nevědí, jestli jste to vy. Psát jakákoliv hesla do skriptů nebo konfiguračních souborů považuju obecně za špatnou praktiku (jistě, často se tomu nejde vyhnout, ale to je omezení konkrétního software).
Asi nejbezpečnější je ověřování uživatele systémem - např. ident http://www.postgresql.org/docs/8.3/interactive/client-authentication.html . Psaní hesel do příkazové řádky je riziko - každý si jej může zjistit příkazem ps.
pavlix avatar 16.6.2008 14:50 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
V tomto případ to příkazem ps zjistit nelze. Přiřazení proměnných prostředí je vnitřní záležitostí shellu.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
16.6.2008 18:45 pavel srehule
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
ju, pravda. Nicmene i tenhle zpusob si vynucuje zapis hesla do souboru. Pokud se nepouzije overeni systemem, tak se proste to heslo musi nekam zapsat. V home mam aspon jistotu, ze mi tam nikdo, krome roota, nevidi.
pavlix avatar 16.6.2008 19:05 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Proto jsem taky odkazoval na dokumentaci a ident.

Tady šlo spíš o to ujasnění, proč vlastně se používá proměnná místo optiony.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
2.7.2008 23:42 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Neni pravda !
To ze premene su casto spajane s shellom a shell scriptingom neznamena ze je to nieco 'vnutorne'. Ak by to ostalo len v shelli tak by sme nemali ako predat parametre cez premene. Ked sa pusta napr. ten sql prikaz tak shell spravi env. premenami a tam pusti prikaz. No a teraz k tomu co som chcel.

Veci co su v env. (premene) su viditelne pre roota a usera pod ktorym to bezi (niekde aj pre vsetkych), co je na cmdline je viditelne pre vsetkych (pokial to neni upravene napr. cez grsec, to iste aj pre env).
Ako priklad pustim bash a dam mu heslo cez premenu:
$ PASS='tajne heslo' bash
$
potom sa staci trosku popozerat po proc filesysteme a najdeme toto
$ cat /proc/self/environ | tr \\0 \\n | grep PASS
PASS=tajne heslo
$
samozrejme self nahradime za pid ked to je nieco ine :o). Env ineho procesu sa da aj cez nejaky prikaz vypisat, ale to ma teraz nejak nenapada :o)

Skoro v kazdej dokumentacii je velkym napisane ze heslo nedavat cez cmdline alebo env a ked si precitate to hore tak kazdemu musi byt jasne ze preco :o)
2.7.2008 16:57 Phil | skóre: 4
Rozbalit Rozbalit vše Re: PostgreSQL 8.1 - autovacuum / reindex
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díky za vaše příspěvky.

Ad 2)
Nakonec jsem to řešil v pg_hba.conf takhle:

local   all         postgres                          ident sameuser
local   all         all                               md5
host    all         all         127.0.0.1/32          md5
host    all         all         ::1/128               md5

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.