ما Postgres را در آنجا داریم، اما نمی‌دانم با آن چه کنم (ج)

این نقل قول یکی از دوستانم است که روزی روزگاری با سؤالی در مورد Postgres به من مراجعه کرد. سپس در عرض چند روز مشکل او را حل کردیم و با تشکر از من افزود: خوب است که یک DBA آشنا داشته باشید.

اما اگر DBA نمی دانید چه باید کرد؟ گزینه های پاسخ بسیار زیادی می تواند وجود داشته باشد، از جستجوی دوستان در میان دوستان گرفته تا مطالعه خودتان. اما هر پاسخی که به ذهنتان برسد، یک خبر خوب برایتان دارم. در حالت تست، ما یک سرویس توصیه برای Postgres و همه چیز اطراف آن راه اندازی کردیم. این چیست و چگونه به این شکل زندگی می کنیم؟

چرا این همه؟

Postgres حداقل آسان نیست و گاهی اوقات بسیار دشوار است. بستگی به میزان مشارکت و مسئولیت دارد.

کسانی که در عملیات کار می کنند باید اطمینان حاصل کنند که Postgres به عنوان یک سرویس به درستی و پایدار کار می کند - نظارت بر استفاده از منابع، در دسترس بودن، کفایت پیکربندی، انجام دوره ای به روز رسانی و بررسی منظم سلامت. کسانی که در حال توسعه هستند و برنامه ها را می نویسند، به طور کلی، باید بر نحوه تعامل برنامه با پایگاه داده نظارت داشته باشند و اینکه شرایط اضطراری ایجاد نمی کند که بتواند پایگاه داده را از بین ببرد. اگر فردی به اندازه کافی بدشانس باشد که یک مدیر فنی/مدیر فنی باشد، پس برای او مهم است که Postgres به طور کلی قابل اعتماد، قابل پیش بینی کار کند و مشکلی ایجاد نکند، در حالی که توصیه می شود برای مدت طولانی عمیقاً در Postgres فرو نروید. .

در هر یک از این موارد، شما و Postgres وجود دارند. برای خدمت رسانی به Postgres، باید درک خوبی از آن داشته باشید و نحوه عملکرد آن را درک کنید. اگر Postgres یک تخصص مستقیم نیست، می توانید زمان زیادی را صرف یادگیری آن کنید. در حالت ایده آل، وقتی زمان و تمایل وجود دارد، همیشه مشخص نیست که از کجا شروع کنیم، چگونه و کجا حرکت کنیم.

حتی اگر پایش معرفی شود که در تئوری باید عملیات را تسهیل کند، موضوع دانش تخصصی باز می ماند. برای اینکه بتوانید نمودارها را بخوانید و درک کنید، هنوز باید درک خوبی از نحوه کار Postgres داشته باشید. در غیر این صورت، هر نظارتی به تصاویر غم انگیز و هرزنامه های هشدار در زمان های تصادفی روز تبدیل می شود.

اسلحه فقط برای سهولت استفاده از Postgres ساخته شده است. این سرویس داده‌های مربوط به Postgres را جمع‌آوری و تجزیه و تحلیل می‌کند و توصیه‌هایی درباره مواردی که می‌توان بهبود داد ارائه می‌کند.

هدف اصلی این سرویس ارائه توصیه های واضحی است که ایده ای از آنچه در حال وقوع است و آنچه که باید در آینده انجام شود را ارائه می دهد.

برای متخصصانی که دانش تخصصی ندارند، توصیه ها نقطه شروعی برای آموزش پیشرفته است. برای متخصصان پیشرفته، توصیه ها نکاتی را نشان می دهد که باید به آنها توجه شود. در این راستا، Weaponry به عنوان یک دستیار عمل می کند که وظایف معمولی را برای یافتن مشکلات یا کاستی هایی که نیاز به توجه ویژه دارند، انجام می دهد. تسلیحات را می توان با لنتری مقایسه کرد که Postgres را بررسی می کند و عیوب را نشان می دهد.

الان اوضاع چطوره؟

در حال حاضر، اسلحه در حالت تست و رایگان است، ثبت نام موقتا محدود است. به همراه چندین داوطلب، موتور توصیه را در پایگاه های نزدیک به رزم نهایی می کنیم، موارد مثبت کاذب را شناسایی می کنیم و روی متن توصیه ها کار می کنیم.

به هر حال، توصیه ها هنوز کاملاً ساده هستند - آنها فقط می گویند که چه باید کرد و چگونه آن را انجام داد، بدون جزئیات اضافی - بنابراین در ابتدا باید پیوندهای مرتبط را دنبال کنید یا آن را در گوگل جستجو کنید. بررسی‌ها و توصیه‌ها تنظیمات سیستم و سخت‌افزار، تنظیمات خود Postgres، طرح‌واره داخلی و منابع مورد استفاده را پوشش می‌دهند. هنوز چیزهای زیادی وجود دارد که باید در برنامه ها اضافه شود.

و البته، ما به دنبال داوطلبانی هستیم که آماده آزمایش خدمات و ارائه بازخورد هستند. ما همچنین داریم نسخه ی نمایشی، می توانید وارد شوید و نگاهی بیندازید. اگر می‌دانید که به این نیاز دارید و آماده امتحان کردن هستید، برای ما بنویسید پست الکترونیکی.

به روز شده در 2020-09-16. شروع شدن.

پس از ثبت نام، از کاربر خواسته می شود تا یک پروژه ایجاد کند - که به شما امکان می دهد نمونه های پایگاه داده را در گروه ها ترکیب کنید. پس از ایجاد یک پروژه، کاربر به دستورالعمل های پیکربندی و نصب عامل هدایت می شود. به طور خلاصه، شما باید کاربرانی را برای عامل ایجاد کنید، سپس اسکریپت نصب عامل را دانلود کرده و اجرا کنید. در دستورات پوسته چیزی شبیه به این است:

psql -c "CREATE ROLE pgscv WITH LOGIN SUPERUSER PASSWORD 'A7H8Wz6XFMh21pwA'"
export PGSCV_PG_PASSWORD=A7H8Wz6XFMh21pwA
curl -s https://dist.weaponry.io/pgscv/install.sh |sudo -E sh -s - 1 6ada7a04-a798-4415-9427-da23f72c14a5

اگر هاست دارای pgbouncer باشد، باید یک کاربر برای اتصال عامل ایجاد کنید. روش خاصی برای پیکربندی کاربر در pgbouncer می تواند بسیار متغیر باشد و بسیار به پیکربندی مورد استفاده بستگی دارد. به طور کلی، راه‌اندازی به اضافه کردن کاربر خلاصه می‌شود stats_users فایل پیکربندی (معمولا pgbouncer.ini) و نوشتن رمز عبور (یا هش آن) در فایل مشخص شده در پارامتر auth_file. اگر stats_users را تغییر دهید، باید pgbouncer را مجددا راه اندازی کنید.

اسکریپت install.sh چند آرگومان مورد نیاز را می گیرد که برای هر پروژه منحصر به فرد هستند و از طریق متغیرهای محیطی جزئیات کاربران ایجاد شده را می پذیرد. در مرحله بعد، اسکریپت عامل را در حالت بوت استرپ شروع می کند - عامل خود را در PATH کپی می کند، یک پیکربندی با جزئیات، یک واحد systemd ایجاد می کند و به عنوان یک سرویس systemd شروع می شود.
این کار نصب را کامل می کند. ظرف چند دقیقه، نمونه پایگاه داده در لیست میزبان ها در رابط ظاهر می شود و می توانید از قبل به اولین توصیه ها نگاه کنید. اما یک نکته مهم این است که بسیاری از توصیه ها به تعداد زیادی معیارهای انباشته شده (حداقل در روز) نیاز دارند.

منبع: www.habr.com

اضافه کردن نظر