Database Labdon
797 subscribers
33 photos
2 videos
1 file
727 links
🕸 Database Academy

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
pqr.sql: Generate QR Codes with Pure SQL in Postgres

🟢 خلاصه مقاله:
**pqr.sql یک ایده‌ی خلاقانه است که نشان می‌دهد می‌توان QR Code را تنها با SQL و مستقیماً داخل Postgres تولید کرد. این کار بدون افزونه یا کد اپلیکیشن انجام می‌شود و برای محیط‌های محدود یا سناریوهای خودبسنده مفید است و جنبه آموزشی خوبی برای توانمندی‌های SQL در Postgres دارد. با این حال، به چندصد خط SQL نیاز دارد و برای تولید عملیاتی جایگزین کتابخانه‌های تخصصی نیست؛ اما نمونه‌ای جذاب با کاربردهای غیربدیهی است.

#Postgres #PostgreSQL #SQL #QRCode #PureSQL #Databases #SQLTricks

🟣لینک مقاله:
https://postgresweekly.com/link/175728/web


👑 @Database_Academy
🔵 عنوان مقاله
The Benefits of a DESCending Index

🟢 خلاصه مقاله:
گذشته از کاربرد شناخته‌شده‌ی DESC در همخوان‌سازی ایندکس با ORDER BYهای ترکیبی، در برخی سناریوهای خاص یک ایندکسِ نزولی می‌تواند هنگام ساخت و درج، فضای کمتری اشغال کند. وقتی الگوی درج داده‌ها با جهت مرتب‌سازی ایندکس هم‌راستا باشد، احتمال شکاف صفحه کمتر می‌شود و چیدمان برگ‌ها فشرده‌تر می‌ماند؛ نتیجه می‌تواند ایندکسی کوچک‌تر و با محلیّت حافظه بهتر باشد.

از نظر اجرا هم مزیتی وجود دارد: برای تولید همان ترتیب نتایج، یک اسکن رو‌به‌جلو روی ایندکسِ نزولی معمولاً از اسکن رو‌به‌عقب روی ایندکسِ صعودی کاراتر است، چون با پیش‌خوانی دیسک و الگوهای کش سازگارتر است. بنابراین برای پرس‌وجوهای «جدیدترین‌ها اول» مثل ORDER BY created_at DESC همراه با LIMIT، انتخاب ایندکس نزولی اغلب اجرای پایدارتر و سریع‌تری می‌دهد. جمع‌بندی: جهت ایندکس را بر اساس الگوی غالب ORDER BY انتخاب و هر دو حالت را با EXPLAIN روی داده‌های واقعی بسنجید.

#PostgreSQL #Indexing #DESC #ORDERBY #QueryOptimization #DatabasePerformance #BTree #TopN

🟣لینک مقاله:
https://postgresweekly.com/link/176021/web


👑 @Database_Academy
🔵 عنوان مقاله
Postgres 18's UUIDv7: Faster and Secure Time-Ordered IDs

🟢 خلاصه مقاله:
**پشتیبانی از UUIDv7 در Postgres 18 شناسه‌هایی زمان‌مرتب ارائه می‌دهد که برخلاف UUIDv4 باعث پراکندگی شدید ایندکس‌ها نمی‌شوند. بخش زمان در ابتدای UUIDv7 باعث می‌شود درج‌ها عمدتاً به انتهای B-tree اضافه شوند و از شکستن صفحه‌ها، افت کش و ناپایداری توان نوشتن جلوگیری شود. هم‌زمان، بخش‌های تصادفیِ کافی باقی می‌ماند تا شناسه‌ها منحصربه‌فرد، غیرقابل پیش‌بینی و مناسب برای محیط‌های توزیع‌شده باشند؛ بدون افشای جزئیات سخت‌افزاری مانند نسخه‌های قدیمی‌تر.

برای تیم‌های Go که از Postgres استفاده می‌کنند، این تغییر به‌خوبی با الگوهای متداول سرویس‌های رویدادمحور، لاگ‌های افزایشی و نوشتن در مقیاس افقی سازگار است. تولید UUIDv7 در لایه اپلیکیشن و ذخیره آن در ستون نوع uuid ساده است و بسیاری از کتابخانه‌های Go از آن پشتیبانی می‌کنند. برای مهاجرت، جدول‌های جدید می‌توانند مستقیماً از UUIDv7 استفاده کنند و جدول‌های موجود می‌توانند به‌تدریج تغییر کنند؛ تنها به صحت و یکنواختی ساعت سرورها برای حفظ ترتیب توجه کنید و برای نیازهای زمانی دقیق همچنان از ستون‌های timestamp بهره بگیرید.

به‌طور خلاصه، UUIDv7 در Postgres 18 ترکیبی از عملکرد بهتر درج و ایندکس، سادگی عملیاتی و امنیت بیشتر را فراهم می‌کند؛ همان‌طور که در Golang Weekly نیز بر هم‌سویی طبیعی آن با معماری سرویس‌های Go تاکید شده است.

#Postgres #PostgreSQL #UUIDv7 #Go #Golang #DatabasePerformance #Scalability

🟣لینک مقاله:
https://postgresweekly.com/link/176368/web


👑 @Database_Academy
🔵 عنوان مقاله
Returning Multiple Rows with Postgres Extensions

🟢 خلاصه مقاله:
این مطلب به قلم Shaun Thomas به‌صورت عملی توضیح می‌دهد که در افزونه‌های Postgres چگونه می‌توان چندین سطر را برگرداند. نویسنده با تمرکز بر SRF و tuplestore، مراحل اصلی را تشریح می‌کند: راه‌اندازی وضعیت فراخوانی در مرحله اول، ساخت TupleDesc، تولید سطرها با SRF_RETURN_NEXT و پایان با SRF_RETURN_DONE؛ همچنین نکات مهمی مثل مدیریت حافظه در context درست، تعیین صحیح ویژگی‌هایی مانند volatility و strictness، و انتخاب بین SETOF نوع مرکب نام‌دار یا SETOF record را بیان می‌کند. مقاله به ملاحظات کارایی، استفاده ایمن از SPI در صورت اجرای SQL داخل افزونه، و تفاوت‌های نسخه‌ای که می‌تواند روی رفتار توابع بازگرداننده مجموعه تأثیر بگذارد نیز می‌پردازد. برای توسعه‌دهندگانی که قصد دارند افزونه‌های Postgres خود را بنویسند و نیاز به الگوهای قابل اتکا برای بازگرداندن چندین سطر دارند، این راهنما بسیار کاربردی است.

#Postgres #PostgreSQL #Extensions #SetReturningFunctions #SRF #CProgramming #Database #OpenSource

🟣لینک مقاله:
https://postgresweekly.com/link/176366/web


👑 @Database_Academy
🔵 عنوان مقاله
PostgreSQL Conference Japan 2025

🟢 خلاصه مقاله:
**کنفرانس PostgreSQL Conference Japan 2025 روز 11 November در Tokyo برگزار می‌شود؛ رویدادی یک‌روزه برای کاربران، توسعه‌دهندگان و سازمان‌هایی که با PostgreSQL کار می‌کنند. برنامه رویداد بر قابلیت‌های جدید، بهینه‌سازی کارایی، HA و replication، استقرارهای cloud، امنیت و اکوسیستم افزونه‌ها و ابزارها تمرکز دارد و شامل ارائه‌های فنی، مطالعات موردی و محتوای عملی است. این کنفرانس فرصتی مناسب برای شبکه‌سازی و تبادل تجربه میان توسعه‌دهندگان، DBAها، مهندسان داده و رهبران فنی است. تاریخ را در تقویم خود علامت بزنید؛ جزئیات بیشتر شامل برنامه، سخنرانان و ثبت‌نام از طریق کانال‌های رسمی اعلام خواهد شد.

#PostgreSQL #Database #OpenSource #Tokyo #Japan #TechConference #2025

🟣لینک مقاله:
https://postgresweekly.com/link/175394/web


👑 @Database_Academy
👍1
🔵 عنوان مقاله
PL/Haskell 5.0: Use Haskell in Your SQL Functions

🟢 خلاصه مقاله:
خلاصه‌ای از PL/Haskell 5.0: این نسخه امکان نوشتن توابع SQL در Postgres با استفاده از زبان تابعی Haskell را فراهم می‌کند. با وجود غیر‌رویه‌ای بودن Haskell، کدها به‌گونه‌ای ارائه می‌شوند که Postgres بتواند آن‌ها را به‌عنوان توابع و رویه‌ها اجرا کند و شما منطق کاربردی را مستقیماً از داخل SQL فراخوانی کنید. در نسخه ۵.۰، پشتیبانی از انواع تاریخ و زمان اضافه شده است؛ بنابراین می‌توانید کارهای رایج مرتبط با داده‌های زمانی، مانند کار با timestampها، زمان‌بندی و محاسبات زمانی را داخل پایگاه‌داده و با اتکا به مزایای شفافیت و نوع‌محوری Haskell انجام دهید.

#Haskell #PostgreSQL #SQL #FunctionalProgramming #Database #PLHaskell #DateTime

🟣لینک مقاله:
https://postgresweekly.com/link/176028/web


👑 @Database_Academy
🔵 عنوان مقاله
Sanitizing SQL with SQL

🟢 خلاصه مقاله:
این مقاله یک تابع نمونه در PL/pgSQL معرفی می‌کند که SQL خام را می‌گیرد و نسخه‌ای Sanitized برمی‌گرداند تا اطلاعات هویتی حساس (PII) حذف یا ماسک شود. نتیجه این است که می‌توان کوئری‌ها را برای لاگ، دیباگ و اشتراک‌گذاری، بدون افشای داده‌های واقعی، امن‌تر کرد. چون این کار داخل PostgreSQL انجام می‌شود، ادغام آن با تریگرها، مسیرهای لاگ و کد موجود ساده است و نیاز به ابزار خارجی ندارد. البته این فقط یک اثبات ایده است و همه حالات و گویش‌های SQL را پوشش نمی‌دهد و ممکن است خطا یا هزینهٔ کارایی داشته باشد؛ بهبودهایی مثل توکنیزه‌کردن بهتر و قواعد پیکربندی‌پذیر پیشنهاد می‌شوند. پیام اصلی: می‌توان Sanitization را مستقیماً با خود SQL انجام داد و حریم خصوصی را حفظ کرد.

#SQL #PLpgSQL #PII #DataPrivacy #DatabaseSecurity #Logging #PostgreSQL

🟣لینک مقاله:
https://postgresweekly.com/link/175732/web


👑 @Database_Academy
1
🔵 عنوان مقاله
pg_ivm 1.13: Incremental View Maintenance (IVM) Extension

🟢 خلاصه مقاله:
pg_ivm 1.13 یک افزونه برای PostgreSQL است که رویکرد Incremental View Maintenance (IVM) را به کار می‌گیرد تا به‌جای بازمحاسبه کامل، فقط تغییرات لازم را روی materialized view اعمال کند. در مقایسه با REFRESH MATERIALIZED VIEW، این روش با به‌روزرسانی‌های افزایشی باعث کاهش زمان، مصرف منابع و قفل‌گذاری می‌شود و به‌ویژه برای پایگاه‌های داده حجیم، داشبوردهای تحلیلی و سناریوهای نزدیک به زمان واقعی مفید است.

#PostgreSQL #pg_ivm #IVM #MaterializedViews #DatabasePerformance #DataEngineering #IncrementalUpdates

🟣لینک مقاله:
https://postgresweekly.com/link/176027/web


👑 @Database_Academy
🔵 عنوان مقاله
Getting a Portable Setup for Postgres 18 on Windows

🟢 خلاصه مقاله:
این راهنمای عملی از Mohit Sindhwani نشان می‌دهد چطور یک نمونه کاملاً پرتابل از Postgres 18 را روی Windows راه‌اندازی کنید؛ بدون نصب‌کننده، بدون سرویس Windows و بدون نیاز به دسترسی ادمین. روش پیشنهادی برای توسعه‌دهندگان، مدرس‌ها و هر کسی که یک دیتابیس ایزوله و قابل‌حمل می‌خواهد ایده‌آل است.

نویسنده توصیه می‌کند نسخه ZIP (قابل حمل) را دریافت و در یک پوشه مستقل استخراج کنید، سپس با initdb دایرکتوری data را با تنظیمات مناسب (مثل UTF8 و locale) بسازید. مدیریت سرور با pg_ctl انجام می‌شود و برای پورت یا مسیرها می‌توان از تنظیمات postgresql.conf یا پارامترهای خط فرمان استفاده کرد. برای سهولت، اسکریپت‌های start/stop و تنظیم PATH تنها در همان نشست پیشنهاد می‌شود تا چیزی در سیستم ثبت نشود.

اتصال با psql صورت می‌گیرد و در صورت نیاز می‌توان از ابزارهای گرافیکی مانند pgAdmin یا DBeaver بهره برد. راهنما بر امنیت پایه تأکید دارد: دسترسی پیش‌فرض محلی است و برای دسترسی شبکه‌ای باید pg_hba.conf و listen_addresses را با احتیاط تنظیم کنید. پشتیبان‌گیری با pg_dump انجام می‌شود و چون نصب سیستمی وجود ندارد، پاک‌سازی تنها با توقف سرویس و حذف پوشه انجام می‌گیرد. نتیجه، یک فرآیند تمیز، تکرارپذیر و واقعاً پرتابل برای Postgres 18 روی Windows است.

#PostgreSQL #Postgres #Windows #Portable #Database #SQL #DevEnvironment #Tutorial

🟣لینک مقاله:
https://postgresweekly.com/link/176023/web


👑 @Database_Academy
🔵 عنوان مقاله
postgres-contrib.org

🟢 خلاصه مقاله:
postgres-contrib.org یک وبلاگ با رویکرد گردآوری هفتگی (اغلب هفتگی) است که مهم‌ترین مشارکت‌ها و تغییرات در پروژه Postgres را به‌صورت خلاصه و قابل‌خواندن ارائه می‌کند. این گردآورها حوزه‌هایی مانند بهبودهای هسته، افزونه‌ها، کارایی، رفع باگ، به‌روزرسانی مستندات و ابزارهای پیرامونی را پوشش می‌دهند و معمولاً در صورت امکان لینک‌هایی برای پیگیری کد یا بحث‌های مرتبط ارائه می‌شود. این رویکرد به توسعه‌دهندگان، DBAها و مشارکت‌کنندگان کمک می‌کند بدون جست‌وجوی پراکنده، از روندها و تغییرات مهم باخبر شوند، برای ارتقاها برنامه‌ریزی کنند و فرصت‌های مشارکت را ببینند. هدف، تکمیل یادداشت‌های رسمی انتشار با یک چکیده جامعه‌محور و منظم از فعالیت‌های جاری در اکوسیستم PostgreSQL است.

#Postgres #PostgreSQL #OpenSource #Database #Community #Contributions #WeeklyDigest

🟣لینک مقاله:
https://postgresweekly.com/link/176675/web


👑 @Database_Academy
🔵 عنوان مقاله
Deploy anywhere at any scale with confidence

🟢 خلاصه مقاله:
استقرار بارهای کاری مبتنی بر PostgreSQL را در هر محیط و هر مقیاسی با اطمینان انجام دهید؛ از ابر تا محیط‌های درون‌سازمانی و چندمنطقه‌ای. با الگوهای ثابت‌شده برای مقیاس‌پذیری، تکرار داده، پشتیبان‌گیری و دسترس‌پذیری بالا، رشد سیستم بدون افت پایداری ممکن می‌شود. ابزارهای پایش، خودکارسازی و امنیت نیز سلامت و انطباق را تضمین می‌کنند. تکیه بر تجربه چندده‌ساله تیم پشتیبانی اختصاصی PostgreSQL—از طراحی و برنامه‌ریزی ظرفیت تا مهاجرت، به‌روزرسانی، بهینه‌سازی کارایی و رفع اشکال—ریسک را کاهش می‌دهد و سرعت ارائه را افزایش می‌دهد.

#PostgreSQL #استقرار #مقیاس‌پذیری #دیتابیس #پشتیبانی_فنی #Cloud #DevOps

🟣لینک مقاله:
https://postgresweekly.com/link/176372/web


👑 @Database_Academy
🔵 عنوان مقاله
her experience of last week's PGConf EU event.

🟢 خلاصه مقاله:
تجربه نویسنده از PGConf EU هفته گذشته نشان می‌دهد که رویداد امسال ترکیبی از راهکارهای عملی، مطالعه‌های موردی واقعی و گفت‌وگوهای ارزشمند جانبی بود. تمرکز اصلی روی بهینه‌سازی کارایی، تاب‌آوری عملیاتی، مهاجرت‌ها، انتخاب Extensionها، استقرار ابری و Observability بود و نتیجه‌گیری او این است که اکوسیستم PostgreSQL بالغ‌تر و قابل‌دسترس‌تر از گذشته شده است. او در ادامه به آخرین مقاله Golang Weekly اشاره می‌کند که به‌خوبی با این موضوعات پیوند می‌خورد: الگوهای مؤثر در Go برای کار با پایگاه‌داده، از جمله استفاده بهینه از database/sql، زمان‌هایی که استفاده از pgx ترجیح دارد، مدیریت context برای Timeout و Cancellation، Pooling اتصال‌ها و راهبردهای Backpressure در بار همزمانی بالا. جمع‌بندی او این است که ترکیب درس‌های PGConf EU با نکات Golang Weekly یک نقشه راه عملی برای ساخت سرویس‌های داده‌محور در Go فراهم می‌کند؛ نقشه‌ای که به بهبود پایه‌های کارایی، پوشش تست مسیرهای دسترسی به داده و شفاف‌تر کردن SLOها با Observability بهتر منجر می‌شود.

#PGConfEU #PostgreSQL #Golang #GolangWeekly #DatabaseEngineering #PerformanceTuning #GoProgramming #Observability

🟣لینک مقاله:
https://postgresweekly.com/link/176359/web


👑 @Database_Academy
1
🔵 عنوان مقاله
Don't Give Postgres Too Much Memory

🟢 خلاصه مقاله:
خلاصه‌ای از دیدگاه Tomas این است که در Postgres همیشه «حافظه بیشتر=بهتر» نیست. بالا بردن بی‌محابای maintenance_work_mem و work_mem می‌تواند اندازه مجموعه کاری را بزرگ‌تر از CPU cache کند و با افزایش cache miss، سرعت مرتب‌سازی و هش را کم کند. علاوه بر آن، تخصیص‌های بزرگ، بار مدیریت حافظه روی OS را زیاد می‌کند و در بار همزمان، چون work_mem به‌ازای هر نود و هر کوئری اعمال می‌شود، مصرف واقعی حافظه چندبرابر شده و افت کارایی رخ می‌دهد. نتیجه عملی: مقادیر را معقول و مرحله‌ای تنظیم کنید، با سناریوهای واقعی بنچمارک بگیرید، در صورت نیاز به‌صورت موردی با SET مقدار work_mem را برای عملیات سنگین بالا ببرید، و به تعامل CPU cache و مدیریت حافظه OS توجه کنید؛ همیشه مقدار بیشتر سریع‌تر نیست.

#Postgres #PostgreSQL #DatabasePerformance #work_mem #maintenance_work_mem #CPUCaches #OSMemory

🟣لینک مقاله:
https://postgresweekly.com/link/176669/web


👑 @Database_Academy
🔵 عنوان مقاله
pg_qualstats: Extension for Collecting Statistics About Predicates

🟢 خلاصه مقاله:
pg_qualstats یک افزونه برای PostgreSQL است که آمار مربوط به استفاده از گزاره‌ها در WHERE و JOIN را جمع‌آوری می‌کند تا نشان دهد کدام فیلترها در عمل بیشترین استفاده و بیشترین اثر را دارند. این داده‌ها به شما کمک می‌کند برای بار کاری واقعی خود، ایندکس‌های هدفمند (تکی، ترکیبی، جزئی یا بر اساس عبارت) طراحی کنید و با کاهش I/O و تأخیر، کارایی را بهبود دهید. می‌توانید نتایج را مستقیم از نماهای افزونه ببینید یا از طریق POWA (Postgres Workload Analyzer) آن‌ها را تحلیل و اولویت‌بندی کنید. در کنار ابزاری مثل pg_stat_statements، این افزونه مشخص می‌کند کدام بخش از یک کوئری پرهزینه است و در نتیجه یافتن ایندکس‌های از دست‌رفته و ارزیابی اثربخشی ایندکس‌های جدید ساده‌تر می‌شود.

#PostgreSQL #pg_qualstats #POWA #PostgresWorkloadAnalyzer #QueryOptimization #Indexing #DatabasePerformance

🟣لینک مقاله:
https://postgresweekly.com/link/175733/web


👑 @Database_Academy
🔵 عنوان مقاله
Did You Know Postgres Tables are Limited to 1,600 Columns?

🟢 خلاصه مقاله:
اگر نمی‌دانستید، در Postgres هر جدول حداکثر ۱۶۰۰ ستون می‌تواند داشته باشد. این یک محدودیت سخت در هسته سیستم است و با NULL بودن فیلدها یا TOAST دور زده نمی‌شود. اگر شماره issue 226 در سال 2017 را خوانده باشید، احتمالاً این نکته را به خاطر دارید. این سقف به معنای آن است که طراحی‌هایی با جدول‌های بسیار عریض—مثل هر شاخص یک ستون یا طرح‌های EAV تثبیت‌شده—به‌سرعت به حد می‌خورند. راه‌حل‌های بهتر شامل نرمال‌سازی، تفکیک عمودی، تبدیل ستون‌ها به سطرها برای سنجه‌ها، یا استفاده از JSONB برای ویژگی‌های کم‌استفاده و پراکنده است. جدول‌های خیلی عریض علاوه بر ریسک رسیدن به سقف، هزینه I/O و نگهداری را بالا می‌برند. نتیجه عملی: با در نظر گرفتن حد ۱۶۰۰ ستون، از طرح‌های باریک‌تر و انعطاف‌پذیرتر استفاده کنید و قبل از اعمال مهاجرت‌ها، تعداد ستون‌ها را بررسی کنید.

#Postgres #PostgreSQL #SQL #DatabaseDesign #DataModeling #SchemaDesign #JSONB #SoftwareEngineering

🟣لینک مقاله:
https://postgresweekly.com/link/176989/web


👑 @Database_Academy
🔵 عنوان مقاله
pREST (PostgreSQL REST) 2.0 RC3

🟢 خلاصه مقاله:
** pREST (PostgreSQL REST) در نسخه 2.0 RC3 یک راه ساده برای قرار دادن یک RESTful API جلوی پایگاه داده Postgres ارائه می‌دهد تا بدون نوشتن لایه‌های تکراری، بتوان از طریق HTTP به جداول و نماها دسترسی داشت. این نسخه RC3 یعنی پروژه به انتشار پایدار 2.0 نزدیک است و از کاربران می‌خواهد در محیط‌های تست/مرحله‌ای آن را امتحان کنند و بازخورد بدهند. pREST برای سناریوهایی مثل نمونه‌سازی سریع، ریزسرویس‌ها و ابزارهای داخلی مفید است و الگوهای رایج مانند CRUD، فیلتر، مرتب‌سازی و صفحه‌بندی را از طریق درخواست‌های HTTP ساده می‌کند. هدف آن ادغام راحت با زیرساخت و شیوه‌های امنیتی موجود و بهره‌گیری از توان PostgreSQL است تا استقرار و مشاهده‌پذیری آسان‌تر شود.

#pREST #PostgreSQL #RESTAPI #OpenSource #Database #Backend #APIs #RC3

🟣لینک مقاله:
https://postgresweekly.com/link/174130/web


👑 @Database_Academy
🔵 عنوان مقاله
Postgres 13 has reached its 'end of life' today

🟢 خلاصه مقاله:
نسخه Postgres 13 امروز به پایان چرخه پشتیبانی رسید و دیگر هیچ وصله امنیتی یا رفع باگی از سوی جامعه دریافت نمی‌کند. ماندن روی این نسخه ریسک امنیتی و انطباقی دارد و ممکن است مخازن و ارائه‌دهندگان نیز آن را محدود یا از رده خارج کنند. توصیه می‌شود هرچه زودتر به یکی از نسخه‌های پشتیبانی‌شده (مثلاً 14، 15، 16 یا 17) ارتقا دهید. برای ارتقا با توجه به نیازها از pg_upgrade (Downtime کم)، logical replication (تقریباً بی‌وقفه) یا pg_dump/pg_restore استفاده کنید، سازگاری اپلیکیشن و افزونه‌ها را در محیط staging بسنجید، تغییرات پیکربندی و یادداشت‌های انتشار را مرور کنید و از داشتن نسخه پشتیبان و برنامه بازگشت اطمینان بگیرید. در سرویس‌های مدیریت‌شده مانند AWS RDS، Azure Database for PostgreSQL و Google Cloud SQL نیز احتمال زمان‌بندی ارتقای اجباری وجود دارد. اگر ارتقای فوری ممکن نیست، پشتیبانی تمدیدشده شخص ثالث فقط یک راه‌حل موقت است و جایگزین ارتقای واقعی نمی‌شود.
#PostgreSQL #Postgres13 #EOL #DatabaseSecurity #Upgrade #DBA #InfoSec #CloudDatabases

🟣لینک مقاله:
https://postgresweekly.com/link/176979/web


👑 @Database_Academy
🔵 عنوان مقاله
PostgreSQL Event Calendar

🟢 خلاصه مقاله:
PostgreSQL Event Calendar یک سایت متمرکز برای رصد رویدادهای مرتبط با Postgres است و یک فایل ICS / iCalendar هم ارائه می‌دهد که می‌توانید به تقویم خود اضافه کنید تا رویدادها را بدون پیگیری دستی دنبال کنید. فهرست رویدادها تا PGDay Austria در سپتامبر 2026 ادامه دارد که امکان برنامه‌ریزی بلندمدت را برای علاقه‌مندان و اعضای جامعه Postgres فراهم می‌کند.

#PostgreSQL #Postgres #iCalendar #ICS #TechEvents #DatabaseCommunity #PGDayAustria #OpenSource

🟣لینک مقاله:
https://postgresweekly.com/link/176673/web


👑 @Database_Academy
🔵 عنوان مقاله
Spock: Logical Multi-Master PostgreSQL Replication

🟢 خلاصه مقاله:
این مقاله Spock را معرفی می‌کند؛ لایه‌ای برای Logical Multi‑Master Replication روی PostgreSQL که اجازه می‌دهد چند نود هم‌زمان عملیات نوشتن را بپذیرند و داده‌ها را بین خود همگام نگه دارند. برخلاف Physical Replication که به یک لیدر متکی است، Spock با استفاده از logical decoding تغییرات سطری را دریافت و روی نودهای دیگر اعمال می‌کند و بدین ترتیب امکان active‑active و حتی انتشار بخشی از DDL را فراهم می‌سازد.

نویسنده چالش‌های اصلی Multi‑Master را توضیح می‌دهد: تشخیص و رفع تضادهای نوشتن، سیاست‌های قابل پیکربندی مثل last‑update‑wins یا روش‌های سفارشی، مدیریت شناسه‌های یکتا و sequenceها، و تغییر توپولوژی بدون توقف. از نظر عملیاتی نیز نظارت بر lag، ثبت و رصد تضادها، و طراحی الگوهای اپلیکیشنی مثل upsert و عملیات idempotent ضروری است؛ استفاده از UUID به جای sequenceهای متمرکز می‌تواند تعارض‌ها را کم کند. نتیجه‌گیری این است که Spock جایگزین ساده برای سازگاری قوی سراسری نیست، اما برای سناریوهای active‑active با پذیرش eventual consistency گزینه‌ای قوی است.

در مقایسه با گزینه‌های دیگر (Built‑in Logical Replication تک‑مستر، Physical Streaming، و راهکارهایی مانند BDR یا Bucardo)، Spock تمرکز را بر Multi‑Master منطقی می‌گذارد و در قبال پیچیدگی بیشتر، استقلال از یک primary واحد را می‌دهد. از آن‌جا که این مطلب در Golang Weekly آمده، نکات پیاده‌سازی برای سرویس‌های Go نیز مطرح می‌شود: اتصال از طریق database/sql یا pgx به نود محلی برای کاهش تاخیر، مدیریت retry و conflict، و استفاده از الگوهایی مثل transactional outbox و CDC برای ساخت سیستم‌های رویدادمحور قابل اتکا.

#PostgreSQL #Spock #LogicalReplication #MultiMaster #Golang #DistributedSystems #DatabaseReplication #HighAvailability

🟣لینک مقاله:
https://postgresweekly.com/link/177326/web


👑 @Database_Academy
🔵 عنوان مقاله
be careful when you do minor version upgrades

🟢 خلاصه مقاله:
** ارتقای نسخه‌های به‌ظاهر «جزئی» می‌تواند در سیستم‌های مبتنی بر Debian پیامدهای بزرگی داشته باشد. به‌روزرسانی نقطه‌ای Debian ممکن است کتابخانه‌های مرتبط با locale و collation را تغییر دهد و پایگاه داده شما را به به‌روزرسانی collation وادار کند؛ نتیجه می‌تواند بازسازی نمایه‌ها، تغییر ترتیب مرتب‌سازی متن، افت کارایی و حتی اختلال در سرویس باشد. این وضعیت معمولاً با apt upgrade یا unattended-upgrades و همچنین تصاویر کانتینری با برچسب‌های غیرثابت رخ می‌دهد. برای کاهش ریسک، همان نسخه را در staging تست کنید، بسته‌ها را pin/hold کنید، یادداشت‌های انتشار Debian و پایگاه داده را بخوانید، پنجره نگه‌داری در نظر بگیرید، پشتیبان مطمئن بگیرید و قبل/بعد از ارتقا وضعیت collation را بررسی کنید. «ارتقای جزئی» را نیز مانند ارتقای عمده جدی بگیرید تا از تغییر ناخواسته collation جلوگیری شود.

#Debian #Database #Collation #PostgreSQL #MySQL #Apt #Upgrade #DevOps

🟣لینک مقاله:
https://postgresweekly.com/link/177311/web


👑 @Database_Academy