เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจ…เจจเฉเจญเจต (เจฐเจฟเจฒเฉ‡เจŸเจจ เจฌเฉ‡เจธ/4123007 เจฆเฉ‡ เจฌเจฒเจพเจ• 16490 เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ)

เจฎเฉˆเจ‚ เจคเฉเจนเจพเจกเฉ‡ เจจเจพเจฒ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจตเจฟเฉฑเจš เจฌเจนเจพเจฒ เจ•เจฐเจจ เจฆเจพ เจ†เจชเจฃเจพ เจชเจนเจฟเจฒเจพ เจธเจซเจฒ เจคเจœเจฐเจฌเจพ เจธเจพเจ‚เจเจพ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพเฅค เจฎเฉˆเจ‚ เจ…เฉฑเจงเจพ เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ Postgres DBMS เจจเจพเจฒ เจœเจพเจฃเฉ‚ เจนเฉ‹เจ‡เจ† เจธเฉ€; เจ‡เจธ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจชเฉเจฐเจธเจผเจพเจธเจจ เจฆเจพ เจ•เฉ‹เจˆ เจคเจœเจฐเจฌเจพ เจจเจนเฉ€เจ‚ เจธเฉ€.

เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจ…เจจเฉเจญเจต (เจฐเจฟเจฒเฉ‡เจŸเจจ เจฌเฉ‡เจธ/4123007 เจฆเฉ‡ เจฌเจฒเจพเจ• 16490 เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ)

เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจตเฉฑเจกเฉ€ IT เจ•เฉฐเจชเจจเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ…เจฐเจง-DevOps เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเจพเจ‚เฅค เจธเจพเจกเฉ€ เจ•เฉฐเจชเจจเฉ€ เจ‰เฉฑเจš-เจฒเฉ‹เจก เจธเฉ‡เจตเจพเจตเจพเจ‚ เจฒเจˆ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจฎเฉˆเจ‚ เจชเฉเจฐเจฆเจฐเจธเจผเจจ, เจฐเฉฑเจ–-เจฐเจ–เจพเจ… เจ…เจคเฉ‡ เจคเฉˆเจจเจพเจคเฉ€ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเจพเจ‚เฅค เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐเฉ€ เจ•เฉฐเจฎ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€: เจ‡เฉฑเจ• เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฒเจˆเฅค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ Django เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ…เฉฑเจชเจกเฉ‡เจŸ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ (เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚), เจ…เจคเฉ‡ เจ‡เจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ…เจธเฉ€เจ‚ เจธเจŸเฉˆเจ‚เจกเจฐเจก pg_dump เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจพ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจกเฉฐเจช เจฒเฉˆเจ‚เจฆเฉ‡ เจนเจพเจ‚, เจธเจฟเจฐเจซ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจšเฅค

เจกเฉฐเจช (เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจธเฉฐเจธเจ•เจฐเจฃ 9.5) เจฒเฉˆเจ‚เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ• เจ…เจšเจพเจจเจ• เจ—เจฒเจคเฉ€ เจ†เจˆ เจนเฉˆ:

pg_dump: Oumping the contents of table โ€œws_log_smevlogโ€ failed: PQgetResult() failed.
pg_dump: Error message from server: ERROR: invalid page in block 4123007 of relatton base/16490/21396989
pg_dump: The command was: COPY public.ws_log_smevlog [...]
pg_dunp: [parallel archtver] a worker process dled unexpectedly

เจ—เจฒเจคเฉ€ "เจฌเจฒเจพเจ• เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ" เจซเจพเจ‡เจฒ เจธเจฟเจธเจŸเจฎ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจ—เฉฑเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจฌเจนเฉเจค เจ–เจฐเจพเจฌ เจนเฉˆเฅค เจตเฉฑเจ–-เจตเฉฑเจ– เจซเฉ‹เจฐเจฎเจพเจ‚ 'เจคเฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ เจ•เจฐเจจ เจฆเจพ เจธเฉเจเจพเจ… เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€ เจชเฉ‚เจฐเจพ เจตเฉˆเจ•เจฟเจŠเจฎ เจตเจฟเจ•เจฒเจช เจฆเฉ‡ เจจเจพเจฒ เจœเจผเฉ€เจฐเฉ‹_เจจเฉเจ•เจธเจพเจจ เจตเจพเจฒเฉ‡_เจชเฉฐเจจเฉ‡ เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ. เจ–เฉˆเจฐ, เจ†เจ“ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ ...

เจฐเจฟเจ•เจตเจฐเฉ€ เจฒเจˆ เจคเจฟเจ†เจฐเฉ€

เจงเจฟเจ†เจจ เจฆเจฟเจ“! เจ†เจชเจฃเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฐเฉ€เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจฌเฉˆเจ•เจ…เฉฑเจช เจฒเฉˆเจฃเจพ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“เฅค เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจนเฉˆ, เจคเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เฉ‹ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจธเจจเฉˆเจชเจธเจผเจพเจŸ เจฒเจ“เฅค เจœเฉ‡เจ•เจฐ เจธเจจเฉˆเจชเจธเจผเจพเจŸ เจฒเฉˆเจฃเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ (เจตเจพเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจธเจฎเฉ‡เจค) เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจฅเจพเจ‚ 'เจคเฉ‡ เจ•เจพเจชเฉ€ เจ•เจฐเฉ‹เฅค เจธเจพเจกเฉ‡ เจ•เจพเจฐเฉ‹เจฌเจพเจฐ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฟ เจšเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจ—เฉœเจจเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ. เจชเฉœเฉเจนเฉ‹ เจ‡เจธ เจจเฉ‚เฉฐ.

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‡ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ, เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจฟเจฏเจฎเจค เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจกเฉฐเจช เจคเฉฑเจ• เจธเฉ€เจฎเจฟเจค เจ•เฉ€เจคเจพ, เจชเจฐ เจ–เจฐเจพเจฌ เจกเฉ‡เจŸเจพ (เจตเจฟเจ•เจฒเจช) เจตเจพเจฒเฉ€ เจธเจพเจฐเจฃเฉ€ เจจเฉ‚เฉฐ เจฌเจพเจนเจฐ เจฐเฉฑเจ–เจฟเจ† -T, --exclude-table=TABLE pg_dump เจตเจฟเฉฑเจš).

เจธเจฐเจตเจฐ เจญเฉŒเจคเจฟเจ• เจธเฉ€, เจธเจจเฉˆเจชเจธเจผเจพเจŸ เจฒเฉˆเจฃเจพ เจ…เจธเฉฐเจญเจต เจธเฉ€เฅค เจฌเฉˆเจ•เจ…เฉฑเจช เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ†เจ“ เจ…เฉฑเจ—เฉ‡ เจตเจงเฉ€เจเฅค

เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจœเจพเจ‚เจš

เจกเจพเจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฐเฉ€เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจธเจญ เจ•เฉเจ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจ เฉ€เจ• เจนเฉˆเฅค เจ…เจคเฉ‡ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเฉ‹, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจธเจฟเจฐเจซ เจšเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจ—เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹.

เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจฎเจพเจŠเจ‚เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ "/srv" เจ…เจคเฉ‡ เจ•เจฟเจธเจฎ ext4 เจธเฉ€เฅค

เจกเจพเจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃเจพ: systemctl stop [เจˆเจฎเฉ‡เจฒ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค] เจ…เจคเฉ‡ เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจ•เจฟ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ•เจฟเจธเฉ‡ เจฆเฉเจ†เจฐเจพ เจตเจฐเจคเฉ‹เจ‚ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจจเจฎเจพเจŠเจ‚เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ lsof:
lsof +D /srv

เจฎเฉˆเจจเฉ‚เฉฐ redis เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจตเฉ€ เจฐเฉ‹เจ•เจฃเจพ เจชเจฟเจ†, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจตเฉ€ เจตเจฐเจค เจฐเจฟเจนเจพ เจธเฉ€ "/srv". เจ…เฉฑเจ—เฉ‡ เจฎเฉˆเจ‚ เจ…เจจเจฎเจพเจŠเจ‚เจŸ เจ•เฉ€เจคเจพ / เจเจธเจ†เจฐเจตเฉ€ (umount)เฅค

เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ e2fsck เจธเจตเจฟเฉฑเจš เจฆเฉ‡ เจจเจพเจฒ -f (เจœเฉ‡เจ•เจฐ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจธเจพเจซเจผ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจคเจพเจ‚ เจตเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฌเจฐเจฆเจธเจคเฉ€ เจ•เจฐเฉ‹):

เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจ…เจจเฉเจญเจต (เจฐเจฟเจฒเฉ‡เจŸเจจ เจฌเฉ‡เจธ/4123007 เจฆเฉ‡ เจฌเจฒเจพเจ• 16490 เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ)

เจ…เฉฑเจ—เฉ‡, เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ dumpe2fs (sudo dumpe2fs /dev/mapper/gu2โ€”sys-srv | grep เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€) เจคเฉเจธเฉ€เจ‚ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจœเจพเจ‚เจš เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€:

เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจ…เจจเฉเจญเจต (เจฐเจฟเจฒเฉ‡เจŸเจจ เจฌเฉ‡เจธ/4123007 เจฆเฉ‡ เจฌเจฒเจพเจ• 16490 เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ)

e2fsck เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ ext4 เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจธเจฎเฉฑเจธเจฟเจ† เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเฉ€, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฌเจนเจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจœเจพเจฐเฉ€ เจฐเฉฑเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจพเจ‚ เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ เจตเจพเจชเจธ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹. เจตเฉˆเจ•เจฟเจŠเจฎ เจญเจฐเจฟเจ† (เจฌเฉ‡เจธเจผเฉฑเจ•, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจฎเจพเจŠเจ‚เจŸ เจ•เจฐเจจ เจ…เจคเฉ‡ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ)เฅค

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจญเฉŒเจคเจฟเจ• เจธเจฐเจตเจฐ เจนเฉˆ, เจคเจพเจ‚ เจกเจฟเจธเจ•เจพเจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ (เจฆเฉเจ†เจฐเจพ smartctl -a /dev/XXX) เจœเจพเจ‚ RAID เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ† เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, RAID "เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ" เจจเจฟเจ•เจฒเจฟเจ†, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ เจธเจฅเจพเจจเจ• เจชเฉเจฐเจธเจผเจพเจธเจ• เจจเฉ‚เฉฐ RAID เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจนเจพ (เจธเจฐเจตเจฐ เจฎเฉ‡เจฐเฉ‡ เจคเฉ‹เจ‚ เจ•เจˆ เจธเฉŒ เจ•เจฟเจฒเฉ‹เจฎเฉ€เจŸเจฐ เจฆเฉ‚เจฐ เจธเฉ€)เฅค เจ‰เจธ เจจเฉ‡ เจ•เจฟเจนเจพ เจ•เจฟ เจ•เฉ‹เจˆ เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจธเจจ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจฏเจ•เฉ€เจจเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจนเจพเจฒเฉ€ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค

เจ•เฉ‹เจธเจผเจฟเจธเจผ 1: เจœเจผเฉ€เจฐเฉ‹_เจจเฉเจ•เจธเจพเจจ เจตเจพเจฒเฉ‡_เจชเฉฐเจจเฉ‡

เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ–เจพเจคเฉ‡ เจจเจพเจฒ psql เจฆเฉเจ†เจฐเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจœเฉเฉœเจฆเฉ‡ เจนเจพเจ‚ เจœเจฟเจธ เจ•เฉ‹เจฒ เจธเฉเจชเจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจงเจฟเจ•เจพเจฐ เจนเจจเฅค เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเฉเจชเจฐเจฏเฉ‚เจœเจผเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ... เจตเจฟเจ•เจฒเจช เจœเจผเฉ€เจฐเฉ‹_เจจเฉเจ•เจธเจพเจจ เจตเจพเจฒเฉ‡_เจชเฉฐเจจเฉ‡ เจ•เฉ‡เจตเจฒ เจ‰เจน เจนเฉ€ เจฌเจฆเจฒ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ‡เจน เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจนเฉˆ:

psql -h 127.0.0.1 -U postgres -s [database_name]

เจตเจฟเจ•เจฒเจช เจœเจผเฉ€เจฐเฉ‹_เจจเฉเจ•เจธเจพเจจ เจตเจพเจฒเฉ‡_เจชเฉฐเจจเฉ‡ เจชเฉœเฉเจนเจจ เจฆเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจจเจœเจผเจฐเจ…เฉฐเจฆเจพเจœเจผ เจ•เจฐเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจนเฉˆ (เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธเจชเฉเจฐเฉ‹ เจตเฉˆเจฌเจธเจพเจˆเจŸ เจคเฉ‹เจ‚):

เจœเจฆเฉ‹เจ‚ PostgreSQL เจ‡เฉฑเจ• เจญเฉเจฐเจฟเจธเจผเจŸ เจชเฉฐเจจเจพ เจธเจฟเจฐเจฒเฉ‡เจ– เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจ‡เจน เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเฉ€ เจฐเจฟเจชเฉ‹เจฐเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฒเฉˆเจฃ-เจฆเฉ‡เจฃ เจจเฉ‚เฉฐ เจฐเฉฑเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ zero_damaged_pages เจฏเฉ‹เจ— เจนเฉˆ, เจคเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ เจ‡เฉฑเจ• เจšเฉ‡เจคเจพเจตเจจเฉ€ เจœเจพเจฐเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ, เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจ–เจฐเจพเจฌ เจนเฉ‹เจ เจชเฉฐเจจเฉ‡ เจจเฉ‚เฉฐ เจœเจผเฉ€เจฐเฉ‹ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจตเจฟเจตเจนเจพเจฐ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจจเจธเจผเจŸ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจฐเจฅเจพเจค เจ–เจฐเจพเจฌ เจชเฉฐเจจเฉ‡ เจฆเฉ€เจ†เจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจคเจพเจฐเจพเจ‚เฅค

เจ…เจธเฉ€เจ‚ เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจฆเจพ เจชเฉ‚เจฐเจพ เจตเฉˆเจ•เจฟเจŠเจฎ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

VACUUM FULL VERBOSE

เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจ…เจจเฉเจญเจต (เจฐเจฟเจฒเฉ‡เจŸเจจ เจฌเฉ‡เจธ/4123007 เจฆเฉ‡ เจฌเจฒเจพเจ• 16490 เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ)
เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€.

เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจคเจฐเฉเฉฑเจŸเฉ€ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจฟเจ†:

INFO: vacuuming "โ€œpublic.ws_log_smevlogโ€
WARNING: invalid page in block 4123007 of relation base/16400/21396989; zeroing out page
ERROR: unexpected chunk number 573 (expected 565) for toast value 21648541 in pg_toast_106070

pg_toast - Poetgres เจตเจฟเฉฑเจš "เจฒเฉฐเจฌเฉ‡ เจกเฉ‡เจŸเจพ" เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจงเฉ€ เจœเฉ‡เจ•เจฐ เจ‡เจน เจ‡เฉฑเจ• เจชเฉฐเจจเฉ‡ 'เจคเฉ‡ เจซเจฟเฉฑเจŸ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ (เจกเจฟเจซเฉŒเจฒเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš 8kb)เฅค

เจ•เฉ‹เจธเจผเจฟเจธเจผ 2: เจฐเฉ€เจ‡เฉฐเจกเฉˆเจ•เจธ

เจ—เฉ‚เจ—เจฒ เจฆเฉ€ เจชเจนเจฟเจฒเฉ€ เจธเจฒเจพเจน เจจเฉ‡ เจฎเจฆเจฆ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€. เจ•เฉเจ เจฎเจฟเฉฐเจŸเจพเจ‚ เจฆเฉ€ เจ–เฉ‹เจœ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฎเฉˆเจจเฉ‚เฉฐ เจฆเฉ‚เจœเจพ เจธเฉเจเจพเจ… เจฎเจฟเจฒเจฟเจ† - เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฐเฉ€เจ‡เฉฐเจกเฉˆเจ•เจธ เจ–เจฐเจพเจฌ เจŸเฉ‡เจฌเจฒ. เจฎเฉˆเจ‚ เจ‡เจธ เจธเจฒเจพเจน เจจเฉ‚เฉฐ เจ•เจˆ เจฅเจพเจตเจพเจ‚ 'เจคเฉ‡ เจฆเฉ‡เจ–เจฟเจ†, เจชเจฐ เจ‡เจธ เจจเฉ‡ เจ†เจคเจฎ-เจตเจฟเจธเจผเจตเจพเจธ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‡เจฐเจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพเฅค เจ†เจ‰ เจฎเฉเฉœ เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจ•เจฐเฉ€เจ:

reindex table ws_log_smevlog

เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจ…เจจเฉเจญเจต (เจฐเจฟเจฒเฉ‡เจŸเจจ เจฌเฉ‡เจธ/4123007 เจฆเฉ‡ เจฌเจฒเจพเจ• 16490 เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ)

เจฐเฉ€เจ‡เฉฐเจกเฉˆเจ•เจธ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจชเฉ‚เจฐเจพ เจ•เฉ€เจคเจพเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจธ เจจเฉ‡ เจฎเจฆเจฆ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€, เจตเฉˆเจ•เจฟเจŠเจฎ เจซเฉเจฒ เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจ•เจฐเฉˆเจธเจผ เจนเฉ‹ เจ—เจฟเจ†เฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจ…เจธเจซเจฒเจคเจพเจตเจพเจ‚ เจฆเจพ เจ†เจฆเฉ€ เจนเจพเจ‚, เจฎเฉˆเจ‚ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ 'เจคเฉ‡ เจธเจฒเจพเจน เจฒเจˆ เจนเฉ‹เจฐ เจฆเฉ‡เจ–เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฆเจฟเจฒเจšเจธเจช เจ—เฉฑเจฒ เจธเจพเจนเจฎเจฃเฉ‡ เจ†เจˆ เจฒเฉ‡เจ–.

เจ•เฉ‹เจธเจผเจฟเจธเจผ 3: เจšเฉเจฃเฉ‹, เจธเฉ€เจฎเจพ เจ•เจฐเฉ‹, เจ†เจซเจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‹

เจ‰เจชเจฐเฉ‹เจ•เจค เจฒเฉ‡เจ– เจจเฉ‡ เจธเจพเจฐเจฃเฉ€ เจฆเฉ€ เจ•เจคเจพเจฐ เจจเฉ‚เฉฐ เจ•เจคเจพเจฐ เจฆเฉเจ†เจฐเจพ เจตเฉ‡เจ–เจฃ เจ…เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจตเจพเจฒเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃ เจฆเจพ เจธเฉเจเจพเจ… เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค เจชเจนเจฟเจฒเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจธเจพเจฐเฉ€เจ†เจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€:

for ((i=0; i<"Number_of_rows_in_nodes"; i++ )); do psql -U "Username" "Database Name" -c "SELECT * FROM nodes LIMIT 1 offset $i" >/dev/null || echo $i; done

เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเฉˆ 1 628 991 เจฒเจพเจˆเจจเจพเจ‚! เจ‡เจธเจฆเฉ€ เจšเฉฐเจ—เฉ€ เจฆเฉ‡เจ–เจญเจพเจฒ เจ•เจฐเจจเฉ€ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€ เจกเจพเจŸเจพ เจตเจฟเจญเจพเจ—เฉ€เจ•เจฐเจจ, เจชเจฐ เจ‡เจน เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจšเจฐเจšเจพ เจฆเจพ เจตเจฟเจธเจผเจพ เจนเฉˆเฅค เจ‡เจน เจธเจผเจจเฉ€เจตเจพเจฐ เจธเฉ€, เจฎเฉˆเจ‚ เจ‡เจน เจนเฉเจ•เจฎ tmux เจตเจฟเฉฑเจš เจšเจฒเจพเจ‡เจ† เจ…เจคเฉ‡ เจธเฉŒเจฃ เจ—เจฟเจ†:

for ((i=0; i<1628991; i++ )); do psql -U my_user -d my_database -c "SELECT * FROM ws_log_smevlog LIMIT 1 offset $i" >/dev/null || echo $i; done

เจธเจตเฉ‡เจฐ เจคเฉฑเจ• เจฎเฉˆเจ‚ เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจ•เจฟ เจšเฉ€เจœเจผเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจšเฉฑเจฒ เจฐเจนเฉ€เจ†เจ‚ เจนเจจเฅค เจฎเฉ‡เจฐเฉ‡ เจนเฉˆเจฐเจพเจจเฉ€ เจฆเฉ€ เจ—เฉฑเจฒ เจนเฉˆ, เจฎเฉˆเจจเฉ‚เฉฐ เจชเจคเจพ เจฒเฉฑเจ—เจพ เจ•เจฟ 20 เจ˜เฉฐเจŸเจฟเจ†เจ‚ เจฌเจพเจ…เจฆ, เจธเจฟเจฐเจซ 2% เจกเจพเจŸเจพ เจธเจ•เฉˆเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€! เจฎเฉˆเจ‚ 50 เจฆเจฟเจจ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจธเฉ€เฅค เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจชเฉ‚เจฐเฉ€ เจ…เจธเจซเจฒเจคเจพ.

เจชเจฐ เจฎเฉˆเจ‚ เจนเจพเจฐ เจจเจนเฉ€เจ‚ เจฎเฉฐเจจเฉ€เฅค เจฎเฉˆเจ‚ เจนเฉˆเจฐเจพเจจ เจธเฉ€ เจ•เจฟ เจธเจ•เฉˆเจจเจฟเฉฐเจ— เจตเจฟเฉฑเจš เจ‡เฉฐเจจเจพ เจธเจฎเจพเจ‚ เจ•เจฟเจ‰เจ‚ เจฒเฉฑเจ—เจพเฅค เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจคเฉ‹เจ‚ (เจฆเฉเจฌเจพเจฐเจพ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธเจชเฉเจฐเฉ‹ 'เจคเฉ‡) เจฎเฉˆเจจเฉ‚เฉฐ เจชเจคเจพ เจฒเฉฑเจ—เจพ:

OFFSET เจ†เจŠเจŸเจชเฉเฉฑเจŸ เจ•เจคเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจคเจพเจฐเจพเจ‚ เจฆเฉ€ เจจเจฟเจฐเจงเจพเจฐเจค เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจ›เฉฑเจกเจฃ เจฒเจˆ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค
เจœเฉ‡เจ•เจฐ OFFSET เจ…เจคเฉ‡ LIMIT เจฆเฉ‹เจตเฉ‡เจ‚ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ, เจคเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจชเจนเจฟเจฒเจพเจ‚ OFFSET เจ•เจคเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจซเจฟเจฐ LIMIT เจธเฉ€เจฎเจพ เจฒเจˆ เจ•เจคเจพเจฐเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจธเฉ€เจฎเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, ORDER BY เจงเจพเจฐเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจตเฉ€ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจจเจคเฉ€เจœเจพ เจ•เจคเจพเจฐเจพเจ‚ เจ‡เฉฑเจ• เจ–เจพเจธ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจตเจพเจชเจธ เจ† เจœเจพเจฃเฅค เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจ•เจคเจพเจฐเจพเจ‚ เจฆเฉ‡ เจ…เจฃเจชเจ›เจพเจคเฉ‡ เจธเจฌเจธเฉˆเฉฑเจŸ เจตเจพเจชเจธ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเจ—เฉ‡เฅค

เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‰เจชเจฐเฉ‹เจ•เจค เจนเฉเจ•เจฎ เจ—เจฒเจค เจธเฉ€: เจชเจนเจฟเจฒเจพเจ‚, เจ•เฉ‹เจˆ เจจเจนเฉ€เจ‚ เจธเฉ€ เจฆเฉเจ†เจฐเจพ เจ†เจฐเจกเจฐ, เจจเจคเฉ€เจœเจพ เจ—เจฒเจค เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฆเฉ‚เจœเจพ, เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ OFFSET เจ•เจคเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจ•เฉˆเจจ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ›เฉฑเจกเจฃเจพ เจชเจฟเจ†, เจ…เจคเฉ‡ เจตเจงเจฆเฉ‡ เจนเฉ‹เจ OFFSET เจ‰เจคเจชเจพเจฆเจ•เจคเจพ เจนเฉ‹เจฐ เจตเฉ€ เจ˜เฉฑเจŸ เจœเจพเจตเฉ‡เจ—เฉ€เฅค

เจ•เฉ‹เจธเจผเจฟเจธเจผ 4: เจŸเฉˆเจ•เจธเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจกเฉฐเจช เจฒเจ“

เจซเจฟเจฐ เจฎเฉ‡เจฐเฉ‡ เจฆเจฟเจฎเจพเจ— เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจค เจนเฉเฉฐเจฆเจพ เจธเจผเจพเจจเจฆเจพเจฐ เจตเจฟเจšเจพเจฐ เจ†เจ‡เจ†: เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจกเฉฐเจช เจฒเจ“ เจ…เจคเฉ‡ เจ†เจ–เจฐเฉ€ เจฐเจฟเจ•เจพเจฐเจก เจ•เฉ€เจคเฉ€ เจฒเจพเจˆเจจ เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ‹เฅค

เจชเจฐ เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ เจธเจพเจฐเจฃเฉ€ เจฆเฉ€ เจฌเจฃเจคเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเฉ€เจเฅค ws_log_smevlog:

เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจ…เจจเฉเจญเจต (เจฐเจฟเจฒเฉ‡เจŸเจจ เจฌเฉ‡เจธ/4123007 เจฆเฉ‡ เจฌเจฒเจพเจ• 16490 เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ)

เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ•เจพเจฒเจฎ เจนเฉˆ "เจ†เจˆเจกเฉ€", เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เจคเจพเจฐ เจฆเจพ เจตเจฟเจฒเฉฑเจ–เจฃ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ (เจ•เจพเจŠเจ‚เจŸเจฐ) เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจฏเฉ‹เจœเจจเจพ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจธเฉ€:

  1. เจ…เจธเฉ€เจ‚ เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจกเฉฐเจช เจฒเฉˆเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ (sql เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš)
  2. เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจฟเจค เจฌเจฟเฉฐเจฆเฉ‚ เจคเฉ‡, เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจ•เจพเจฐเจจ เจกเฉฐเจช เจตเจฟเฉฑเจš เจตเจฟเจ˜เจจ เจชเฉˆ เจœเจพเจตเฉ‡เจ—เจพ, เจชเจฐ เจŸเฉˆเจ•เจธเจŸ เจซเจพเจˆเจฒ เจ…เจœเฉ‡ เจตเฉ€ เจกเจฟเจธเจ• เจคเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€เฅค
  3. เจ…เจธเฉ€เจ‚ เจŸเฉˆเจ•เจธเจŸ เจซเจพเจˆเจฒ เจฆเฉ‡ เจ…เฉฐเจค เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจ†เจ–เจฐเฉ€ เจฒเจพเจˆเจจ เจฆเจพ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ (id) เจฎเจฟเจฒเจฆเจพ เจนเฉˆ เจœเฉ‹ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€

เจฎเฉˆเจ‚ เจŸเฉˆเจ•เจธเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจกเฉฐเจช เจฒเฉˆเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ:

pg_dump -U my_user -d my_database -F p -t ws_log_smevlog -f ./my_dump.dump

เจกเฉฐเจช, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจฎเฉ€เจฆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจธเฉ€, เจ‰เจธเฉ‡ เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจตเจฟเจ˜เจจ เจชเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€:

pg_dump: Error message from server: ERROR: invalid page in block 4123007 of relatton base/16490/21396989

เจฆเฉเจ†เจฐเจพ เจ…เฉฑเจ—เฉ‡ เจชเฉ‚เจ› เจฎเฉˆเจ‚ เจกเฉฐเจช เจฆเฉ‡ เจธเจฟเจฐเฉ‡ เจตเฉฑเจฒ เจฆเฉ‡เจ–เจฟเจ† (tail -5 ./my_dump.dump) เจจเฉ‡ เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจ•เจฟ เจกเฉฐเจช เจจเฉ‚เฉฐ id เจจเจพเจฒ เจฒเจพเจˆเจจ 'เจคเฉ‡ เจฐเฉเจ•เจพเจตเจŸ เจชเจพเจˆ เจ—เจˆ เจธเฉ€ 186 525. "เจ‡เจธ เจฒเจˆ เจธเจฎเฉฑเจธเจฟเจ† เจ†เจˆเจกเฉ€ 186 526 เจฆเฉ‡ เจจเจพเจฒ เจนเฉˆ, เจ‡เจน เจŸเฉเฉฑเจŸ เจ—เจˆ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ!" - เจฎเฉˆเจ‚ เจธเฉ‹เจšเจฟเจ†. เจชเจฐ, เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฒเจˆ เจ‡เฉฑเจ• เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ•เจฐเจจเจพ:
ยซws_log_smevlog เจคเฉ‹เจ‚ * เจšเฉเจฃเฉ‹ เจœเจฟเฉฑเจฅเฉ‡ id=186529 เจนเฉˆ"เจ‡เจน เจชเจคเจพ เจšเจฒเจฟเจ† เจ•เจฟ เจ‡เจธ เจฒเจพเจˆเจจ เจจเจพเจฒ เจธเจญ เจ•เฉเจ เจ เฉ€เจ• เจธเฉ€... 186 - 530 เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจตเจพเจฒเฉ€เจ†เจ‚ เจ•เจคเจพเจฐเจพเจ‚ เจจเฉ‡ เจตเฉ€ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพเฅค เจ‡เฉฑเจ• เจนเฉ‹เจฐ "เจธเจผเจพเจจเจฆเจพเจฐ เจตเจฟเจšเจพเจฐ" เจ…เจธเจซเจฒ เจฐเจฟเจนเจพเฅค เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจธเจฎเจ เจ—เจฟเจ† เจ•เจฟ เจ…เจœเจฟเจนเจพ เจ•เจฟเจ‰เจ‚ เจนเฉ‹เจ‡เจ†: เจœเจฆเฉ‹เจ‚ เจ•เจฟเจธเฉ‡ เจŸเฉ‡เจฌเจฒ เจคเฉ‹เจ‚ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจฃเจพ เจ…เจคเฉ‡ เจฌเจฆเจฒเจฃเจพ, เจ‰เจน เจธเจฐเฉ€เจฐเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจฎเจฟเจŸเจพเจ เจœเจพเจ‚เจฆเฉ‡, เจชเจฐ "เจกเฉˆเฉฑเจก เจŸเฉ‚เจชเจฒเจœเจผ" เจตเจœเฉ‹เจ‚ เจฎเจพเจฐเจ• เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจซเจฟเจฐ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ เจ†เจŸเฉ‹เจตเฉˆเจ•เจฟเจŠเจฎ เจ…เจคเฉ‡ เจ‡เจนเจจเจพเจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ เจ—เจ เจตเจœเฉ‹เจ‚ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจนเจจเจพเจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจตเจฐเจคเจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจธเจฎเจเจฃ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจฌเจฆเจฒเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ†เจŸเฉ‹เจตเฉˆเจ•เจฟเจŠเจฎ เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ•เฉเจฐเจฎเจตเจพเจฐ เจธเจŸเฉ‹เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ•เฉ‹เจธเจผเจฟเจธเจผ 5: เจšเฉเจฃเฉ‹, FROM, WHERE id=

เจ…เจธเจซเจฒเจคเจพเจตเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจฎเจœเจผเจฌเฉ‚เจค โ€‹โ€‹เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฆเฉ‡ เจตเฉ€ เจนเจพเจฐ เจจเจนเฉ€เจ‚ เจฎเฉฐเจจเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เฉฐเจค เจคเฉฑเจ• เจœเจพเจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ†เจช เจ…เจคเฉ‡ เจ†เจชเจฃเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฟเจธเจผเจตเจพเจธ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจตเจฟเจ•เจฒเจช เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ: เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ‡เฉฑเจ• เจ•เจฐเจ•เฉ‡ เจธเจพเจฐเฉ‡ เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เฉ‹เฅค เจฎเฉ‡เจฐเฉ€ เจธเจพเจฐเจฃเฉ€ (เจ‰เฉฑเจชเจฐ เจฆเฉ‡เจ–เฉ‹) เจฆเฉ€ เจฌเจฃเจคเจฐ เจจเฉ‚เฉฐ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹เจ, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ†เจˆเจกเฉ€ เจ–เฉ‡เจคเจฐ เจนเฉˆ เจœเฉ‹ เจตเจฟเจฒเฉฑเจ–เจฃ (เจชเฉเจฐเจพเจ‡เจฎเจฐเฉ€ เจ•เฉเฉฐเจœเฉ€) เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจพเจฐเจฃเฉ€ เจตเจฟเฉฑเจš 1 เจ•เจคเจพเจฐเจพเจ‚ เจนเจจ เจ…เจคเฉ‡ id เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจนเจจ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ‡เฉฑเจ• เจ•เจฐเจ•เฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚:

for ((i=1; i<1628991; i=$((i+1)) )); do psql -U my_user -d my_database  -c "SELECT * FROM ws_log_smevlog where id=$i" >/dev/null || echo $i; done

เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจจเจนเฉ€เจ‚ เจธเจฎเจเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ•เจฎเจพเจ‚เจก เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ: เจ‡เจน เจŸเฉ‡เจฌเจฒ เจฐเฉ‹เจ… เจจเฉ‚เฉฐ เจ•เจคเจพเจฐ เจฆเฉเจ†เจฐเจพ เจธเจ•เฉˆเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ stdout เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฆเฉ€ เจนเฉˆ / dev / null, เจชเจฐ เจœเฉ‡เจ•เจฐ SELECT เจ•เจฎเจพเจ‚เจก เจ…เจธเจซเจฒ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ—เจฒเจคเฉ€ เจŸเฉˆเจ•เจธเจŸ เจชเฉเจฐเจฟเฉฐเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ (stderr เจจเฉ‚เฉฐ เจ•เฉฐเจธเฉ‹เจฒ เจคเฉ‡ เจญเฉ‡เจœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ) เจ…เจคเฉ‡ เจ—เจฒเจคเฉ€ เจตเจพเจฒเฉ€ เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจชเฉเจฐเจฟเฉฐเจŸ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ (เจงเฉฐเจจเจตเจพเจฆ ||, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจšเฉ‹เจฃ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจธเจจ (เจ•เจฎเจพเจ‚เจก เจฆเจพ เจตเจพเจชเจธเฉ€ เจ•เฉ‹เจก) 0 เจจเจนเฉ€เจ‚ เจนเฉˆ))

เจฎเฉˆเจ‚ เจ–เฉเจธเจผเจ•เจฟเจธเจฎเจค เจธเฉ€, เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจซเฉ€เจฒเจก 'เจคเฉ‡ เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฌเจฃเจพเจ เจ—เจ เจธเจจ id:

เจ‡เฉฑเจ• เจ…เจธเจซเจฒเจคเจพ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจ…เจจเฉเจญเจต (เจฐเจฟเจฒเฉ‡เจŸเจจ เจฌเฉ‡เจธ/4123007 เจฆเฉ‡ เจฌเจฒเจพเจ• 16490 เจตเจฟเฉฑเจš เจ…เจตเฉˆเจง เจชเฉฐเจจเจพ)

เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจ†เจˆเจกเฉ€ เจจเจพเจฒ เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจฒเฉฑเจญเจฃ เจตเจฟเฉฑเจš เจœเจผเจฟเจ†เจฆเจพ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจฒเฉˆเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ. เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš เจ‡เจน เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ. เจ–เฉˆเจฐ, เจ†เจ“ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจ…เฉฐเจฆเจฐ เจšเจฒเจพเจˆเจ tmux เจ…เจคเฉ‡ เจ†เจ“ เจธเฉŒเจฃ เจฒเจˆ เจšเฉฑเจฒเฉ€เจเฅค

เจธเจตเฉ‡เจฐ เจคเฉฑเจ• เจฎเฉˆเจ‚ เจฆเฉ‡เจ–เจฟเจ† เจ•เจฟ เจฒเจ—เจญเจ— 90 เจเจ‚เจŸเจฐเฉ€เจ†เจ‚ เจฆเฉ‡เจ–เฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจ, เจœเฉ‹ เจ•เจฟ เจธเจฟเจฐเจซ 000% เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉˆเฅค เจชเจฟเจ›เจฒเฉ€ เจตเจฟเจงเฉ€ (5%) เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจจเจคเฉ€เจœเจพ! เจชเจฐ เจฎเฉˆเจ‚ 2 เจฆเจฟเจจ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจธเฉ€ ...

เจ•เฉ‹เจธเจผเจฟเจธเจผ 6: เจšเฉเจฃเฉ‹, FROM, WHERE id >= เจ…เจคเฉ‡ id

เจ—เจพเจนเจ• เจ•เฉ‹เจฒ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจธเจฎเจฐเจชเจฟเจค เจ‡เฉฑเจ• เจธเจผเจพเจจเจฆเจพเจฐ เจธเจฐเจตเจฐ เจธเฉ€: เจฆเฉ‹เจนเจฐเจพ-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ Intel Xeon E5-2697 v2, เจธเจพเจกเฉ‡ เจŸเจฟเจ•เจพเจฃเฉ‡ เจตเจฟเฉฑเจš 48 เจงเจพเจ—เฉ‡ เจธเจจ! เจธเจฐเจตเจฐ 'เจคเฉ‡ เจฒเฉ‹เจก เจ”เจธเจค เจธเฉ€; เจ…เจธเฉ€เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจฒเจ—เจญเจ— 20 เจฅเฉเจฐเฉˆเจก เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค เจ•เจพเจซเจผเฉ€ เจฐเฉˆเจฎ เจตเฉ€ เจธเฉ€: เจœเจฟเฉฐเจจเจพ 384 เจ—เฉ€เจ—เจพเจฌเจพเจˆเจŸ!

เจ‡เจธ เจฒเจˆ, เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจธเจฎเจพเจจเจพเจ‚เจคเจฐ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

for ((i=1; i<1628991; i=$((i+1)) )); do psql -U my_user -d my_database  -c "SELECT * FROM ws_log_smevlog where id=$i" >/dev/null || echo $i; done

เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจธเฉเฉฐเจฆเจฐ เจ…เจคเฉ‡ เจธเจผเจพเจจเจฆเจพเจฐ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฒเจฟเจ–เจฃเจพ เจธเฉฐเจญเจต เจธเฉ€, เจชเจฐ เจฎเฉˆเจ‚ เจธเจญ เจคเฉ‹เจ‚ เจคเฉ‡เจœเจผ เจธเจฎเจพเจจเจคเจพ เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจšเฉเจฃเจฟเจ†: 0-1628991 เจฐเฉ‡เจ‚เจœ เจจเฉ‚เฉฐ 100 เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจคเจฐเจพเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉฑเจฅเฉ€เจ‚ เจตเฉฐเจกเฉ‹ เจ…เจคเฉ‡ เจซเจพเจฐเจฎ เจฆเฉ€เจ†เจ‚ 000 เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจšเจฒเจพเจ“:

for ((i=N; i<M; i=$((i+1)) )); do psql -U my_user -d my_database  -c "SELECT * FROM ws_log_smevlog where id=$i" >/dev/null || echo $i; done

เจชเจฐ เจ‡เจน เจธเจญ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจœเฉเฉœเจจ เจตเจฟเฉฑเจš เจ•เฉเจ เจธเจฎเจพเจ‚ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจธเจฐเฉ‹เจค เจตเฉ€ เจฒเฉฑเจ—เจฆเฉ‡ เจนเจจเฅค 1 เจจเฉ‚เฉฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจธเจฎเจพเจฐเจŸ เจจเจนเฉ€เจ‚ เจธเฉ€, เจคเฉเจธเฉ€เจ‚ เจธเจนเจฟเจฎเจค เจนเฉ‹เจตเฉ‹เจ—เฉ‡เฅค เจ‡เจธ เจฒเจˆ, เจ†เจ“ เจ‡เฉฑเจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฆเฉ€ เจฌเจœเจพเจ 628 เจ•เจคเจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ€เจเฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจŸเฉ€เจฎ เจ‡เจธ เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจ—เจˆ:

for ((i=N; i<M; i=$((i+1000)) )); do psql -U my_user -d my_database  -c "SELECT * FROM ws_log_smevlog where id>=$i and id<$((i+1000))" >/dev/null || echo $i; done

เจ‡เฉฑเจ• tmux เจธเฉˆเจธเจผเจจ เจตเจฟเฉฑเจš 16 เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจšเจฒเจพเจ“:

1) for ((i=0; i<100000; i=$((i+1000)) )); do psql -U my_user -d my_database  -c "SELECT * FROM ws_log_smevlog where id>=$i and id<$((i+1000))" >/dev/null || echo $i; done
2) for ((i=100000; i<200000; i=$((i+1000)) )); do psql -U my_user -d my_database  -c "SELECT * FROM ws_log_smevlog where id>=$i and id<$((i+1000))" >/dev/null || echo $i; done
โ€ฆ
15) for ((i=1400000; i<1500000; i=$((i+1000)) )); do psql -U my_user -d my_database -c "SELECT * FROM ws_log_smevlog where id>=$i and id<$((i+1000))" >/dev/null || echo $i; done
16) for ((i=1500000; i<1628991; i=$((i+1000)) )); do psql -U my_user -d my_database  -c "SELECT * FROM ws_log_smevlog where id>=$i and id<$((i+1000))" >/dev/null || echo $i; done

เจ‡เฉฑเจ• เจฆเจฟเจจ เจฌเจพเจ…เจฆ เจฎเฉˆเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจ! เจ…เจฐเจฅเจพเจค (XXX เจ…เจคเฉ‡ ZZZ เจฎเฉเฉฑเจฒ เจนเฉเจฃ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจจเจนเฉ€เจ‚ เจนเจจ):

ERROR:  missing chunk number 0 for toast value 37837571 in pg_toast_106070
829000
ERROR:  missing chunk number 0 for toast value XXX in pg_toast_106070
829000
ERROR:  missing chunk number 0 for toast value ZZZ in pg_toast_106070
146000

เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจคเจฟเฉฐเจจ เจฒเจพเจˆเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจนเฉˆเฅค เจชเจนเจฟเจฒเฉ€ เจ…เจคเฉ‡ เจฆเฉ‚เจœเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ†เจˆเจกเฉ€ 829 เจ…เจคเฉ‡ 000 เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจธเจจ, เจคเฉ€เจœเฉ‡ เจฆเฉ€เจ†เจ‚ เจ†เจˆเจกเฉ€ 830 เจ…เจคเฉ‡ 000 เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจธเจจเฅค เจ…เฉฑเจ—เฉ‡, เจธเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจฆเจพ เจธเจนเฉ€ id เจฎเฉเฉฑเจฒ เจฒเฉฑเจญเจฃเจพ เจธเฉ€เฅค เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ 146 เจฆเฉ‡ เจชเฉœเจพเจ… เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ† เจตเจพเจฒเฉ‡ เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเจพเจกเฉ€ เจธเฉ€เจฎเจพ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ†เจˆเจกเฉ€ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

for ((i=829000; i<830000; i=$((i+1)) )); do psql -U my_user -d my_database -c "SELECT * FROM ws_log_smevlog where id=$i" >/dev/null || echo $i; done
829417
ERROR:  unexpected chunk number 2 (expected 0) for toast value 37837843 in pg_toast_106070
829449
for ((i=146000; i<147000; i=$((i+1)) )); do psql -U my_user -d my_database -c "SELECT * FROM ws_log_smevlog where id=$i" >/dev/null || echo $i; done
829417
ERROR:  unexpected chunk number ZZZ (expected 0) for toast value XXX in pg_toast_106070
146911

เจ–เฉเจธเจผเฉ€ เจฆเฉ€ เจธเจฎเจพเจชเจคเฉ€

เจธเจพเจจเฉ‚เฉฐ เจธเจฎเฉฑเจธเจฟเจ† เจตเจพเจฒเฉ€เจ†เจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจฎเจฟเจฒเฉ€เจ†เจ‚เฅค เจ…เจธเฉ€เจ‚ psql เจฆเฉเจ†เจฐเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจœเจพเจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

my_database=# delete from ws_log_smevlog where id=829417;
DELETE 1
my_database=# delete from ws_log_smevlog where id=829449;
DELETE 1
my_database=# delete from ws_log_smevlog where id=146911;
DELETE 1

เจฎเฉ‡เจฐเฉ‡ เจนเฉˆเจฐเจพเจจเฉ€ เจฆเฉ€ เจ—เฉฑเจฒ เจนเฉˆ เจ•เจฟ, เจเจ‚เจŸเจฐเฉ€เจ†เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจตเฉ€ เจฎเจฟเจŸเจพ เจฆเจฟเฉฑเจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจจ เจœเจผเฉ€เจฐเฉ‹_เจจเฉเจ•เจธเจพเจจ เจตเจพเจฒเฉ‡_เจชเฉฐเจจเฉ‡.

เจซเจฟเจฐ เจฎเฉˆเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจœเฉเฉœเจฟเจ†, เจ•เฉ€เจคเจพ เจตเฉˆเจ•เจฟเจŠเจฎ เจซเฉเจฒ (เจฎเฉˆเจจเฉ‚เฉฐ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ…เจœเจฟเจนเจพ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจธเฉ€), เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจฌเฉˆเจ•เจ…เฉฑเจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ pg_dump. เจกเฉฐเจช เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจฒเจฟเจ† เจ—เจฟเจ† เจธเฉ€! เจ…เจœเจฟเจนเฉ‡ เจฎเฉ‚เจฐเจ–เจคเจพ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€. เจ–เฉเจธเจผเฉ€ เจฆเฉ€ เจ•เฉ‹เจˆ เจธเฉ€เจฎเจพ เจจเจนเฉ€เจ‚ เจธเฉ€, เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจ…เจธเจซเจฒเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจฌเจพเจ…เจฆ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจนเฉฑเจฒ เจฒเฉฑเจญเจฃ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจนเฉ‹เจ!

เจฎเจพเจจเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจธเจฟเฉฑเจŸเจพ

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ‡เฉฑเจ• เจ…เจธเจฒ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฌเจนเจพเจฒ เจ•เจฐเจจ เจฆเจพ เจฎเฉ‡เจฐเจพ เจชเจนเจฟเจฒเจพ เจคเจœเจฐเจฌเจพ เจจเจฟเจ•เจฒเจฟเจ†. เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจน เจ…เจจเฉเจญเจต เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉฑเจ• เจฏเจพเจฆ เจฐเจนเฉ‡เจ—เจพเฅค

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจ‡เจน เจ•เจนเจฟเจฃเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจ•เจฟ เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธเจชเฉเจฐเฉ‹ เจฆเจพ เจฐเฉ‚เจธเฉ€ เจตเจฟเฉฑเจš เจ…เจคเฉ‡ เจ‡เจธ เจฒเจˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจจ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฎเฉเจซเจค เจ”เจจเจฒเจพเจˆเจจ เจ•เฉ‹เจฐเจธ, เจœเจฟเจธ เจจเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฆเฉŒเจฐเจพเจจ เจฌเจนเฉเจค เจฎเจฆเจฆ เจ•เฉ€เจคเฉ€เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹