Portál AbcLinuxu, 18. července 2025 13:25
mám 2 otázky ohledně PostgreSQL 8.1 / CentOS 5.
1) autovacuumLze 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
###########################################
Jak řešíte reindexaci pomocí CRONu (heslo pro usera postgres)?
su - postgres -c 'psql dbname -c "reindex database dbname"'
su
pod rootom
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)
PGPASSWORD=password psql dbname -U user -c "reindex database dbname"
/user musí být vlastníkem DB, netřeba superuser/
Odpovím si sám.to zrovna není bezpečné. Bezpečné je uložení hesel do .pgpass http://www.postgresql.org/docs/current/static/libpq-pgpass.htmlad 2)
PGPASSWORD=password psql dbname -U user -c "reindex database dbname"
/user musí být vlastníkem DB, netřeba superuser/
Bezpečné je uložení hesel do .pgpassOdváž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.Bezpečné je uložení hesel do .pgpassOdváž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).
$ 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)
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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.