pg_waldump - نمایش
بازنمایی
خوانا برای
انسان از
لاگ پیش از
نوشتن (WAL) یک
کلاستر
پایگاهداده
PostgreSQL
pg_waldump [option...]
[startseg [endseg]]
دستور pg_waldump
لاگ پیش از
نوشتن (WAL) را
نمایش
میدهد و
عمدتاً
برای اهداف
اشکالزدایی
یا آموزشی
مفید است.
این ابزار
تنها توسط
کاربری که
سرور را نصب
کرده است
میتواند
اجرا شود،
چرا که
نیازمند
دسترسی
فقطخواندنی
به
دایرکتوری
داده (data directory)
است.
گزینههای
خط فرمان
زیر مکان و
قالب خروجی
را کنترل
میکنند:
startseg
شروع
خواندن از
فایل سگمنت WAL
مشخصشده.
این کار
بهطور
ضمنی مسیری
را که
فایلها در
آن جستجو
میشوند و
همچنین خط
زمانی (timeline)
مورد
استفاده را
تعیین
میکند.
endseg
توقف پس
از خواندن
فایل سگمنت WAL
مشخصشده.
-b
--bkp-details
خروجی
دادن
اطلاعات
تفصیلی
درباره
بلوکهای
پشتیبان (backup
blocks).
-B block
--block=block
تنها
نمایش
رکوردهایی
که بلوک
دادهشده
را تغییر
میدهند.
رابطه (relation) نیز
باید با --relation
یا -R مشخص
شود.
-e end
--end=end
توقف
خواندن در
مکان
مشخصشده WAL،
بهجای
خواندن تا
انتهای
جریان لاگ.
-f
--follow
پس از
رسیدن به
انتهای WAL
معتبر، هر
یک ثانیه
یکبار
برای
پدیدار شدن WAL
جدید بررسی
(poll) ادامه
یابد.
-F fork
--fork=fork
تنها
نمایش
رکوردهایی
که بلوکها
را در
انشعاب (fork)
دادهشده
تغییر
میدهند.
مقادیر
معتبر
عبارتند از main
برای
انشعاب
اصلی، fsm برای
نقشه فضای
آزاد (free space map)، vm
برای نقشه
رویتپذیری
(visibility map)، و init برای
انشعاب init.
-n limit
--limit=limit
نمایش
تعداد
مشخصشدهای
از رکوردها
و سپس توقف.
-p path
--path=path
دایرکتوری
را برای
جستجوی
فایلهای
سگمنت WAL یا
دایرکتوری
با یک
زیردایرکتوری
pg_wal که شامل
چنین
فایلهایی
است تعیین
میکند.
پیشفرض
جستجو در
دایرکتوری
جاری،
زیردایرکتوری
pg_wal از
دایرکتوری
جاری، و
زیردایرکتوری
pg_wal از PGDATA است.
-q
--quiet
هیچ
خروجی چاپ
نشود، مگر
برای خطاها.
این گزینه
زمانی مفید
است که
میخواهید
بدانید آیا
بازهای از
رکوردهای WAL
با موفقیت
تجزیه (parse)
میشوند یا
خیر، اما
محتوای
رکوردها
برایتان
اهمیتی
ندارد.
-r rmgr
--rmgr=rmgr
تنها
نمایش
رکوردهای
تولیدشده
توسط مدیر
منبع (resource manager)
مشخصشده.
میتوانید
این گزینه
را چندین
بار برای
انتخاب
چندین مدیر
منبع مشخص
کنید. اگر list
بهعنوان
نام داده
شود،
فهرستی از
نامهای
معتبر مدیر
منبع چاپ
شده و
برنامه
خارج
میشود.
افزونهها
ممکن است
مدیران
منبع
سفارشی
تعریف
کنند، اما pg_waldump
ماژول
افزونه را
بارگذاری
نمیکند و
بنابراین
مدیران
منبع
سفارشی را
بر اساس نام
تشخیص
نمیدهد. در
عوض،
میتوانید
مدیران
منبع
سفارشی را
بهصورت custom###
مشخص کنید
که در آن ###
شناسه
سهرقمی
مدیر منبع
است.
نامهایی
به این شکل
همیشه
معتبر در
نظر گرفته
میشوند.
-R
tblspc/db/rel
--relation=tblspc/db/rel
تنها
نمایش
رکوردهایی
که بلوکها
را در رابطه
(relation) دادهشده
تغییر
میدهند.
رابطه با
شناسه
فضایجدول
(tablespace OID)، شناسه
پایگاهداده
(database OID) و relfilenode که با
اسلش از
یکدیگر جدا
شدهاند
مشخص
میشود،
برای مثال
1234/12345/12345. این همان
قالبی است
که برای
روابط در
خروجی
برنامه
استفاده
میشود.
-s start
--start=start
مکان WAL که
خواندن از
آنجا آغاز
میشود.
پیشفرض
شروع
خواندن از
نخستین
رکورد
معتبر WAL است
که در اولین
فایل پیدا
شده یافت
میشود.
-t timeline
--timeline=timeline
خط زمانی
(timeline) که
رکوردهای WAL
از آن
خوانده
میشوند.
پیشفرض
استفاده از
مقدار
موجود در startseg
است، اگر
مشخص شده
باشد؛ در
غیر این
صورت،
مقدار
پیشفرض 1
است. مقدار
میتواند
بهصورت
دهدهی یا
شانزدهشانزدهی
مشخص شود،
برای مثال 17
یا 0x11.
-V
--version
چاپ نسخه
pg_waldump و خروج.
-w
--fullpage
تنها
نمایش
رکوردهایی
که شامل
تصاویر
کامل صفحه (full page
images) هستند.
-x xid
--xid=xid
تنها
رکوردهای
نشانهگذاریشده
با شناسه
تراکنش (transaction ID)
دادهشده
را نمایش
میدهد.
-z
--stats[=record]
نمایش
آمار خلاصه
(تعداد و
اندازه
رکوردها و
تصاویر
تمامصفحه)
به جای
رکوردهای
تکی. به صورت
اختیاری،
آمارها را
به جای هر rmgr،
به ازای هر
رکورد
تولید
میکند.
اگر pg_waldump با
سیگنال SIGINT (Control+C)
متوقف شود،
خلاصه
آمارهای
محاسبهشده
تا زمان
توقف نمایش
داده
میشود. این
عملیات در Windows
پشتیبانی
نمیشود.
--save-fullpage=save_path
تصاویر
تمامصفحه (full
page images) یافتشده
در
رکوردهای WAL
را در
دایرکتوری
save_path ذخیره
میکند.
تصاویر
ذخیرهشده
مشمول همان
معیارهای
پالایش و
محدودیتی
هستند که بر
رکوردهای
نمایشدادهشده
اعمال
میشود.
تصاویر
تمامصفحه
با این قالب
نامگذاری
فایل ذخیره
میشوند:
TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNO_FORK
نام
فایلها از
بخشهای
زیر تشکیل
شدهاند:
| مؤلفه |
توضیحات |
| TIMELINE |
خط زمانی (timeline)
مربوط به
فایل قطعهٔ
WAL که رکورد
در آن واقع
شده است،
قالببندیشده
به صورت یک
عدد
هگزادسیمال
۸-رقمی %08X |
| LSN |
مقدار LSN
رکورد حاوی
این تصویر،
قالببندیشده
به صورت دو
عدد
هگزادسیمال
۸-رقمی %08X-%08X |
| RELTABLESPACE |
شناسه OID
مربوط به
فضای جدول
(tablespace) بلوک |
| DATOID |
شناسه OID
مربوط به
پایگاهداده
بلوک |
| RELNODE |
مقدار filenode
بلوک |
| BLKNO |
شماره
بلوک مربوط
به بلوک |
| FORK |
نام
انشعابی (fork)
که تصویر
تمامصفحه
از آن آمده
است، مانند
main، fsm، vm یا init. |
-?
--help
نمایش
راهنما
درباره
آرگومانهای
خط فرمان pg_waldump و
خروج.
PGDATA
دایرکتوری
داده؛
همچنین
گزینهٔ -p را
ببینید.
PG_COLOR
مشخص
میکند که
آیا در
پیامهای
عیبیابی
از رنگ
استفاده
شود یا خیر.
مقادیر
ممکن
عبارتاند
از always، auto و never.
هنگامی که
سرور در حال
اجرا است،
ممکن است
نتایج
نادرستی
ارائه دهد.
فقط خط
زمانی (timeline)
مشخصشده
نمایش داده
میشود (یا
در صورت عدم
تعیین،
مقدار
پیشفرض).
رکوردهای
موجود در
سایر
خطهای
زمانی
نادیده
گرفته
میشوند.
pg_waldump
نمیتواند
فایلهای WAL
با پسوند .partial
را بخواند.
در صورتی که
نیاز به
خواندن آن
فایلها
باشد،
پسوند .partial
باید از نام
فایل حذف
شود.