2014-04-11 3 views
7

Postgres 9.3 introduce una funzione di checksum dei dati che può rilevare la corruzione nelle pagine. C'è un modo per interrogare il database per determinare se questo è acceso?in Postgres come dire se la funzione di checksum dei dati è

Essendo ospitato su un sistema PaaS, non ho accesso al server effettivo per verificare le impostazioni di configurazione lì. Ho anche accesso al nostro database e non al database postgres principale. C'è un modo per determinare se questo è attivo solo da una console psql?

risposta

11
show data_checksums; 
data_checksums 
---------------- 
off 

http://www.postgresql.org/docs/current/static/runtime-config-preset.html

+0

Hai bisogno di permessi speciali per quello forse? Ricevo "ERRORE: parametro di configurazione non riconosciuto" data_checksums "". Inoltre, quando eseguo show all; data_checksums non è nella lista –

+0

Vorrei aggiungere che ignore_checksum_failure si presenta però. –

0

È possibile utilizzare pg_controldata vedere se il cluster di PostgreSQL abilitare data_checksum. se version = 0 allora il tuo cluster disabilita la funzione. E il parametro data_checksums aggiunge per PostgreSQL 9.3.4, se la tua versione postgresql è piccola, non puoi selezionare questo parametro guc. è necessario controllarlo tramite il file di controllo.

[email protected]> pg_controldata |grep checksum 
Data page checksum version:   0 
+0

Aww, grazie. Il mio problema è che sono su 9.3.3. Sfortunatamente non ho accesso alla shell della macchina db per usare pg_controldata. Credo che abbia solo bisogno di Heroku per dirmelo. –