🔵 عنوان مقاله
How to Do UPDATE ... LIMIT
🟢 خلاصه مقاله:
در Postgres نمیتوان مستقیم از UPDATE ... LIMIT یا DELETE ... LIMIT استفاده کرد؛ هرچند در برخی لهجههای SQL مثل MySQL این امکان وجود دارد. راهحل استاندارد این است که ابتدا در یک زیرکوئری یا CTE با ORDER BY و LIMIT، شناسهٔ ردیفهای هدف را انتخاب کنید و سپس با UPDATE/DELETE روی همان شناسهها عمل کنید. برای محیطهای همزمان، استفاده از SELECT ... FOR UPDATE SKIP LOCKED در زیرکوئری باعث میشود هر پردازش فقط ردیفهای قفلنشده را بردارد و تداخل رخ ندهد. حتماً ORDER BY بگذارید تا انتخاب N ردیف قابل پیشبینی باشد و برای کارایی، ایندکس مناسب روی فیلترها و مرتبسازیها داشته باشید. در حجمهای بزرگ، عملیات را به صورت batch تکراری انجام دهید تا از تراکنشهای طولانی و فشار روی سیستم جلوگیری شود.
#Postgres #SQL #UPDATE #DELETE #LIMIT #CTE #SkipLocked #MySQL
🟣لینک مقاله:
https://postgresweekly.com/link/175093/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
How to Do UPDATE ... LIMIT
🟢 خلاصه مقاله:
در Postgres نمیتوان مستقیم از UPDATE ... LIMIT یا DELETE ... LIMIT استفاده کرد؛ هرچند در برخی لهجههای SQL مثل MySQL این امکان وجود دارد. راهحل استاندارد این است که ابتدا در یک زیرکوئری یا CTE با ORDER BY و LIMIT، شناسهٔ ردیفهای هدف را انتخاب کنید و سپس با UPDATE/DELETE روی همان شناسهها عمل کنید. برای محیطهای همزمان، استفاده از SELECT ... FOR UPDATE SKIP LOCKED در زیرکوئری باعث میشود هر پردازش فقط ردیفهای قفلنشده را بردارد و تداخل رخ ندهد. حتماً ORDER BY بگذارید تا انتخاب N ردیف قابل پیشبینی باشد و برای کارایی، ایندکس مناسب روی فیلترها و مرتبسازیها داشته باشید. در حجمهای بزرگ، عملیات را به صورت batch تکراری انجام دهید تا از تراکنشهای طولانی و فشار روی سیستم جلوگیری شود.
#Postgres #SQL #UPDATE #DELETE #LIMIT #CTE #SkipLocked #MySQL
🟣لینک مقاله:
https://postgresweekly.com/link/175093/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
CYBERTEC PostgreSQL | Services & Support
How to do UPDATE ... LIMIT in PostgreSQL
There is no UPDATE ... LIMIT in PostgreSQL. This article shows how to achieve the same result and how to avoid potential pitfalls.
🔵 عنوان مقاله
date and timestamp versions of random(min, max)
🟢 خلاصه مقاله:
این مقاله به دو بهروزرسانی کاربردی اشاره میکند: افزودهشدن نسخههای مبتنیبر نوعهای date و timestamp برای تابع random(min, max) و نمایش برآوردهای برنامهریز برای گره Memoize در خروجی EXPLAIN. با پشتیبانی جدید random(min, max)، میتوان مقادیر تصادفی از نوع تاریخ یا زمان را مستقیماً در یک بازه مشخص تولید کرد؛ کاری مفید برای تولید دادهی آزمایشی، شبیهسازی بار کاری و ناشناسسازی دادههای زمانی بدون نیاز به تبدیلهای اضافی. همچنین، EXPLAIN اکنون برآوردهای مربوط به Memoize را نشان میدهد تا روشنتر شود چرا برنامهریز از این گره استفاده کرده و تأثیر تخمینی کش و هزینهها چیست؛ موضوعی که به عیبیابی و بهینهسازی پرسوجوها کمک میکند.
#Databases #SQL #EXPLAIN #Memoize #Random #Date #Timestamp #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/175090/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
date and timestamp versions of random(min, max)
🟢 خلاصه مقاله:
این مقاله به دو بهروزرسانی کاربردی اشاره میکند: افزودهشدن نسخههای مبتنیبر نوعهای date و timestamp برای تابع random(min, max) و نمایش برآوردهای برنامهریز برای گره Memoize در خروجی EXPLAIN. با پشتیبانی جدید random(min, max)، میتوان مقادیر تصادفی از نوع تاریخ یا زمان را مستقیماً در یک بازه مشخص تولید کرد؛ کاری مفید برای تولید دادهی آزمایشی، شبیهسازی بار کاری و ناشناسسازی دادههای زمانی بدون نیاز به تبدیلهای اضافی. همچنین، EXPLAIN اکنون برآوردهای مربوط به Memoize را نشان میدهد تا روشنتر شود چرا برنامهریز از این گره استفاده کرده و تأثیر تخمینی کش و هزینهها چیست؛ موضوعی که به عیبیابی و بهینهسازی پرسوجوها کمک میکند.
#Databases #SQL #EXPLAIN #Memoize #Random #Date #Timestamp #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/175090/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
👍1
🔵 عنوان مقاله
PostGIS Performance: pg_stat_statements and Postgres Tuning
🟢 خلاصه مقاله:
**این مقاله نشان میدهد چطور با استفاده از PostGIS روی Postgres میتوان کارایی پرسوجوهای مکانی را بهبود داد. محور اصلی کار، اندازهگیری دقیق با pg_stat_statements برای شناسایی پرهزینهترین پرسوجوها و سپس تحلیل آنها با EXPLAIN/ANALYZE است. توصیههای کلیدی شامل انتخاب درست geometry یا geography، ساخت ایندکسهای GiST/SP-GiST، نوشتن شرطهای قابل استفاده توسط ایندکس (مثل ST_Intersects و محدودههای جعبهای)، و اجرای VACUUM/ANALYZE پس از بارگذاریهای حجیم است. در بخش تنظیمات Postgres هم به shared_buffers، effective_cache_size، work_mem، موازیسازی، تنظیمات autovacuum و در صورت نیاز پارتیشنبندی اشاره میشود. برای سرویسهای Go (به نقل از Golang Weekly)، استفاده از pooling مناسب، جلوگیری از الگوهای N+1، Batch کردن عملیات، بهرهگیری از COPY و تعیین statement_timeout توصیه شده است. رویکرد کلی: اندازهگیری، اعمال تغییرات هدفمند، و اعتبارسنجی مداوم برای رسیدن به کارایی پایدار و سریعتر.
#PostGIS #PostgreSQL #pg_stat_statements #DatabaseTuning #Geospatial #Golang #Performance #SQL
🟣لینک مقاله:
https://postgresweekly.com/link/176025/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PostGIS Performance: pg_stat_statements and Postgres Tuning
🟢 خلاصه مقاله:
**این مقاله نشان میدهد چطور با استفاده از PostGIS روی Postgres میتوان کارایی پرسوجوهای مکانی را بهبود داد. محور اصلی کار، اندازهگیری دقیق با pg_stat_statements برای شناسایی پرهزینهترین پرسوجوها و سپس تحلیل آنها با EXPLAIN/ANALYZE است. توصیههای کلیدی شامل انتخاب درست geometry یا geography، ساخت ایندکسهای GiST/SP-GiST، نوشتن شرطهای قابل استفاده توسط ایندکس (مثل ST_Intersects و محدودههای جعبهای)، و اجرای VACUUM/ANALYZE پس از بارگذاریهای حجیم است. در بخش تنظیمات Postgres هم به shared_buffers، effective_cache_size، work_mem، موازیسازی، تنظیمات autovacuum و در صورت نیاز پارتیشنبندی اشاره میشود. برای سرویسهای Go (به نقل از Golang Weekly)، استفاده از pooling مناسب، جلوگیری از الگوهای N+1، Batch کردن عملیات، بهرهگیری از COPY و تعیین statement_timeout توصیه شده است. رویکرد کلی: اندازهگیری، اعمال تغییرات هدفمند، و اعتبارسنجی مداوم برای رسیدن به کارایی پایدار و سریعتر.
#PostGIS #PostgreSQL #pg_stat_statements #DatabaseTuning #Geospatial #Golang #Performance #SQL
🟣لینک مقاله:
https://postgresweekly.com/link/176025/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Crunchy Data
PostGIS Performance: pg_stat_statements and Postgres tuning | Crunchy Data Blog
PostGIS performance basics. Second post in a series covering pg_stat_statements, shared buffers, work_mem, and parallel queries.
🔵 عنوان مقاله
Postgres 18: OLD and NEW Rows in the RETURNING Clause
🟢 خلاصه مقاله:
Postgres 18 با تمرکز بر سه حوزه پیش میرود: ارگونومی توسعه، قابلیت مشاهده، و بارگذاری داده. پشتیبانی از ارجاع به ردیفهای OLD و NEW در RETURNING باعث میشود نسخههای قبل و بعد از تغییر را در همان دستور SQL بگیرید؛ این کار لاگبرداری، ثبت تغییرات و منطق حل تعارض را سادهتر و کمهزینهتر میکند. بهبودهای COPY—به روایت Brandur Leach—کار با ورودی/خروجیهای حجیم را خوشدستتر میکند و با پیامهای واضحتر و پیشفرضهای امنتر، خطاهای رایج را کم میکند. در سطح پایش، Deepak Mahto و Cédric Villemain به ارتقاهای Cumulative Statistics میپردازند که با شمارندههای منسجمتر و سربار کمتر، عیبیابی و تنظیم عملکرد را آسانتر میسازد. حاصل این تغییرات، ترکیبی از تجربه توسعهدهنده بهتر و بینش عملیاتی عمیقتر در Postgres 18 است.
#Postgres18 #PostgreSQL #RETURNING #COPY #SQL #Database #CumulativeStatistics #OpenSource
🟣لینک مقاله:
https://postgresweekly.com/link/175099/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Postgres 18: OLD and NEW Rows in the RETURNING Clause
🟢 خلاصه مقاله:
Postgres 18 با تمرکز بر سه حوزه پیش میرود: ارگونومی توسعه، قابلیت مشاهده، و بارگذاری داده. پشتیبانی از ارجاع به ردیفهای OLD و NEW در RETURNING باعث میشود نسخههای قبل و بعد از تغییر را در همان دستور SQL بگیرید؛ این کار لاگبرداری، ثبت تغییرات و منطق حل تعارض را سادهتر و کمهزینهتر میکند. بهبودهای COPY—به روایت Brandur Leach—کار با ورودی/خروجیهای حجیم را خوشدستتر میکند و با پیامهای واضحتر و پیشفرضهای امنتر، خطاهای رایج را کم میکند. در سطح پایش، Deepak Mahto و Cédric Villemain به ارتقاهای Cumulative Statistics میپردازند که با شمارندههای منسجمتر و سربار کمتر، عیبیابی و تنظیم عملکرد را آسانتر میسازد. حاصل این تغییرات، ترکیبی از تجربه توسعهدهنده بهتر و بینش عملیاتی عمیقتر در Postgres 18 است.
#Postgres18 #PostgreSQL #RETURNING #COPY #SQL #Database #CumulativeStatistics #OpenSource
🟣لینک مقاله:
https://postgresweekly.com/link/175099/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Crunchy Data
Postgres 18: OLD and NEW Rows in the RETURNING Clause | Crunchy Data Blog
Postgres 18 now lets you see both old and new data when you add the RETURNING clause to an UPDATE statement
🔵 عنوان مقاله
Pipelining Comes to psql in Postgres 18
🟢 خلاصه مقاله:
** در Postgres 18، ابزار psql فرمانهای داخلی برای فعالسازی و کنترل pipelining در اسکریپتهای SQL اضافه کرده است. با این قابلیت، چندین کوئری پشتسرهم ارسال میشوند و منتظر پاسخ تکبهتک نمیمانند؛ در نتیجه رفتوبرگشتهای شبکه کمتر و زمان اجرا کوتاهتر میشود. بهگفته Daniel، این کار میتواند بهرهوری و throughput کوئریها را بهطور چشمگیری افزایش دهد، بهویژه در اسکریپتهای پر از دستورات کوچک.
این ویژگی برای کارهای حجیم و خودکار مانند بارگذاری داده، پردازشهای ETL، تحلیلها و مهاجرتهای اسکیما بسیار مفید است. میتوان pipelining را فقط در بخشهای مناسب یک اسکریپت فعال کرد و برای اطمینان از سازگاری و بازگردانی، مرزبندی تراکنشها و مدیریت خطا را دقیق انجام داد. در صورت عدم استفاده، رفتار psql مانند قبل باقی میماند و با سایر تکنیکهای بهینهسازی سرور تکمیل میشود، نه اینکه جایگزین آنها باشد.
#Postgres
#psql
#Pipelining
#SQL
#DatabasePerformance
#PostgreSQL18
#Throughput
#ETL
🟣لینک مقاله:
https://postgresweekly.com/link/175088/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Pipelining Comes to psql in Postgres 18
🟢 خلاصه مقاله:
** در Postgres 18، ابزار psql فرمانهای داخلی برای فعالسازی و کنترل pipelining در اسکریپتهای SQL اضافه کرده است. با این قابلیت، چندین کوئری پشتسرهم ارسال میشوند و منتظر پاسخ تکبهتک نمیمانند؛ در نتیجه رفتوبرگشتهای شبکه کمتر و زمان اجرا کوتاهتر میشود. بهگفته Daniel، این کار میتواند بهرهوری و throughput کوئریها را بهطور چشمگیری افزایش دهد، بهویژه در اسکریپتهای پر از دستورات کوچک.
این ویژگی برای کارهای حجیم و خودکار مانند بارگذاری داده، پردازشهای ETL، تحلیلها و مهاجرتهای اسکیما بسیار مفید است. میتوان pipelining را فقط در بخشهای مناسب یک اسکریپت فعال کرد و برای اطمینان از سازگاری و بازگردانی، مرزبندی تراکنشها و مدیریت خطا را دقیق انجام داد. در صورت عدم استفاده، رفتار psql مانند قبل باقی میماند و با سایر تکنیکهای بهینهسازی سرور تکمیل میشود، نه اینکه جایگزین آنها باشد.
#Postgres
#psql
#Pipelining
#SQL
#DatabasePerformance
#PostgreSQL18
#Throughput
#ETL
🟣لینک مقاله:
https://postgresweekly.com/link/175088/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
postgresql.verite.pro
Pipelining in psql (PostgreSQL 18)
the psql client version 18 comes with pipelining, which can speed up client-server communication. In this post, let's see how it works and how much can be g...
🔵 عنوان مقاله
SQL Shader (Tool)
🟢 خلاصه مقاله:
SQL Shader ابزاری مرورگری بر پایه DuckDB-WASM است که کوئریهای SQL را به گرافیکهای رویهایِ بلادرنگ تبدیل میکند تا رفتار و کارایی موتور پایگاهداده را بهصورت بصری کاوش و درک کنید. همهچیز بهصورت محلی در مرورگر اجرا میشود، بدون نیاز به سرور و با حفظ حریم خصوصی. با تغییر کوئریها—مثل فیلترها، نوع join یا اندازه داده—نمایشهای بصری فوراً تغییر میکنند و شاخصهایی مانند زمان اجرا، تعداد ردیفها یا الگوی عملگرها را به شکل قابل مشاهده نشان میدهند. این ابزار برای آموزش مفاهیم پایگاهداده، نمایش تعاملی عملکرد، و آزمایش سریع رفتار کوئریها بسیار کاربردی است.
#SQL #DuckDB #WASM #WebAssembly #DataVisualization #DatabasePerformance #BrowserTools #SQLShader
🟣لینک مقاله:
https://dmkskd.github.io/sql-shader/?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
SQL Shader (Tool)
🟢 خلاصه مقاله:
SQL Shader ابزاری مرورگری بر پایه DuckDB-WASM است که کوئریهای SQL را به گرافیکهای رویهایِ بلادرنگ تبدیل میکند تا رفتار و کارایی موتور پایگاهداده را بهصورت بصری کاوش و درک کنید. همهچیز بهصورت محلی در مرورگر اجرا میشود، بدون نیاز به سرور و با حفظ حریم خصوصی. با تغییر کوئریها—مثل فیلترها، نوع join یا اندازه داده—نمایشهای بصری فوراً تغییر میکنند و شاخصهایی مانند زمان اجرا، تعداد ردیفها یا الگوی عملگرها را به شکل قابل مشاهده نشان میدهند. این ابزار برای آموزش مفاهیم پایگاهداده، نمایش تعاملی عملکرد، و آزمایش سریع رفتار کوئریها بسیار کاربردی است.
#SQL #DuckDB #WASM #WebAssembly #DataVisualization #DatabasePerformance #BrowserTools #SQLShader
🟣لینک مقاله:
https://dmkskd.github.io/sql-shader/?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
🔵 عنوان مقاله
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
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
Tanelpoder
pqr.sql: Generate QR Codes with Pure SQL in PostgreSQL - Tanel Poder Consulting
As my cat woke me up way too early for a Saturday morning, I decided to put all this extra time (and my ChatGPT Pro subscription) into good use and generated a QR-code generator for PostgreSQL, written as a single pure SQL statement. No external libraries…
🔵 عنوان مقاله
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
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
GitHub
GitHub - ed-o-saurus/PLHaskell: An extension for PostgreSQL that allows embedded Haskell code.
An extension for PostgreSQL that allows embedded Haskell code. - GitHub - ed-o-saurus/PLHaskell: An extension for PostgreSQL that allows embedded Haskell code.
🔵 عنوان مقاله
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
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
Ardent Performance Computing
Sanitized SQL
A couple times within the past month, I’ve had people send me a message asking if I have any suggestions about where to learn postgres. I like to share the collection of links that I’ve…
❤1
🔵 عنوان مقاله
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
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
Onghu
Portable setup for PostgreSQL on Windows (Pg18 Edition)
The normal method for using PostgreSQL on your Windows machine is to download the installer and then set it up. It’s easy and will do all the necessary things that you need for it. It will also set up services and other things that you might need. On the…
🔵 عنوان مقاله
Introducing pg_lake: Integrate Your Data Lakehouse with Postgres
🟢 خلاصه مقاله:
pg_lake مجموعهای از افزونهها برای Postgres است که اتصال مستقیم به درياچهداده و Lakehouse را ممکن میکند: پشتیبانی جامع از Iceberg و دسترسی به فایلهای Parquet، CSV و JSON بدون جابهجایی داده یا خروج از محیط Postgres. این راهکار با ادغام شفاف DuckDB در موتور پرسوجوی Postgres، اجرای برداری و ستونی سریع را برای اسکنها و تجمعهای سنگین فراهم میکند، در حالیکه همچنان با SQL آشنا کار میکنید. با pg_lake میتوانید دادههای دریاچه را مثل جدولهای عادی بخوانید، آنها را با جداول عملیاتی Postgres جوین بزنید و نیاز به ETL اضافی را کاهش دهید. پشتیبانی از Iceberg برای سناریوهایی مثل پارتیشنبندی و تکامل طرحواره مناسب است و مسیرهایی مانند تحلیلهای موردی، کوئریهای فدره، و مهاجرت تدریجی به Lakehouse را ساده میکند. کد و مستندات آن در GitHub در دسترس است.
#pg_lake #Postgres #DataLakehouse #Iceberg #DuckDB #Parquet #SQL #OpenSource
🟣لینک مقاله:
https://postgresweekly.com/link/176670/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Introducing pg_lake: Integrate Your Data Lakehouse with Postgres
🟢 خلاصه مقاله:
pg_lake مجموعهای از افزونهها برای Postgres است که اتصال مستقیم به درياچهداده و Lakehouse را ممکن میکند: پشتیبانی جامع از Iceberg و دسترسی به فایلهای Parquet، CSV و JSON بدون جابهجایی داده یا خروج از محیط Postgres. این راهکار با ادغام شفاف DuckDB در موتور پرسوجوی Postgres، اجرای برداری و ستونی سریع را برای اسکنها و تجمعهای سنگین فراهم میکند، در حالیکه همچنان با SQL آشنا کار میکنید. با pg_lake میتوانید دادههای دریاچه را مثل جدولهای عادی بخوانید، آنها را با جداول عملیاتی Postgres جوین بزنید و نیاز به ETL اضافی را کاهش دهید. پشتیبانی از Iceberg برای سناریوهایی مثل پارتیشنبندی و تکامل طرحواره مناسب است و مسیرهایی مانند تحلیلهای موردی، کوئریهای فدره، و مهاجرت تدریجی به Lakehouse را ساده میکند. کد و مستندات آن در GitHub در دسترس است.
#pg_lake #Postgres #DataLakehouse #Iceberg #DuckDB #Parquet #SQL #OpenSource
🟣لینک مقاله:
https://postgresweekly.com/link/176670/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Snowflake
Introducing pg_lake: Integrate Your Data Lakehouse with Postgres
Introducing pg_lake, a set of open-source PostgreSQL extensions from Snowflake that allow you to query, manage, and write to Iceberg tables in your data lakehouse.
🔵 عنوان مقاله
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
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
🔵 عنوان مقاله
Transaction Pooling in Postgres with Pgcat
🟢 خلاصه مقاله:
این مرور سه موضوع مرتبط در عملیات Postgres را کنار هم میگذارد: مدیریت اتصالها با Transaction Pooling از طریق Pgcat، سفر یک پرسوجوی SQL درون Postgres، و نقش «Dirty Pages» در کارایی و دوام. در Transaction Pooling، Pgcat اتصالهای سمت سرور را فقط در طول تراکنش قرض میدهد و با افزایش استفاده مجدد از Backendها، هزینه اتصالهای کوتاهعمر را کاهش میدهد—بهویژه در بارهای Serverless و Microservices. بهای آن، حساسیت به حالتهای سطح نشست است؛ پس باید وضعیت را داخل تراکنش نگه داشت و به زمانبندیها، اندازه Pool و مشاهدهپذیری توجه کرد. «سفر» Phil Eaton نشان میدهد پرسوجو چگونه از Parse/Rewrite/Plan به Execution میرسد، با تکیه بر آمار و ایندکسها، MVCC، قفلها، Shared Buffers و WAL. توضیحات Jesús Espino و Umair Shahid درباره Dirty Pages میگوید صفحاتِ تغییرکرده در حافظه برای کارایی خوباند، اما باید با Checkpoint، Background Writer و تنظیمات WAL مدیریت شوند تا از جهشهای تاخیری جلوگیری شود. کنار هم، این سه دیدگاه کمک میکنند با تغذیه کارآمد اتصالها، فهم مسیر اجرای پرسوجو و تنظیم مسیر نوشتن، Postgres را سریعتر و قابلپیشبینیتر اجرا کنید.
#Postgres #Pgcat #TransactionPooling #ConnectionPooling #SQL #DatabaseInternals #DirtyPages #WAL
🟣لینک مقاله:
https://postgresweekly.com/link/176685/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Transaction Pooling in Postgres with Pgcat
🟢 خلاصه مقاله:
این مرور سه موضوع مرتبط در عملیات Postgres را کنار هم میگذارد: مدیریت اتصالها با Transaction Pooling از طریق Pgcat، سفر یک پرسوجوی SQL درون Postgres، و نقش «Dirty Pages» در کارایی و دوام. در Transaction Pooling، Pgcat اتصالهای سمت سرور را فقط در طول تراکنش قرض میدهد و با افزایش استفاده مجدد از Backendها، هزینه اتصالهای کوتاهعمر را کاهش میدهد—بهویژه در بارهای Serverless و Microservices. بهای آن، حساسیت به حالتهای سطح نشست است؛ پس باید وضعیت را داخل تراکنش نگه داشت و به زمانبندیها، اندازه Pool و مشاهدهپذیری توجه کرد. «سفر» Phil Eaton نشان میدهد پرسوجو چگونه از Parse/Rewrite/Plan به Execution میرسد، با تکیه بر آمار و ایندکسها، MVCC، قفلها، Shared Buffers و WAL. توضیحات Jesús Espino و Umair Shahid درباره Dirty Pages میگوید صفحاتِ تغییرکرده در حافظه برای کارایی خوباند، اما باید با Checkpoint، Background Writer و تنظیمات WAL مدیریت شوند تا از جهشهای تاخیری جلوگیری شود. کنار هم، این سه دیدگاه کمک میکنند با تغذیه کارآمد اتصالها، فهم مسیر اجرای پرسوجو و تنظیم مسیر نوشتن، Postgres را سریعتر و قابلپیشبینیتر اجرا کنید.
#Postgres #Pgcat #TransactionPooling #ConnectionPooling #SQL #DatabaseInternals #DirtyPages #WAL
🟣لینک مقاله:
https://postgresweekly.com/link/176685/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
EDB
Transaction pooling for Postgres with pgcat
Detailed guide on transaction pooling in Postgres using pgcat by Phil Eaton. Discusses pooling modes, connection poolers and their impact on database performance.
❤1
🔵 عنوان مقاله
How to Listen to Database Changes Through the WAL
🟢 خلاصه مقاله:
شنیدن تغییرات دیتابیس از طریق WAL در Postgres یک روش پایدار برای CDC است که بدون تریگر و پولینگ اضافه، رویدادهای INSERT/UPDATE/DELETE را با ترتیب مبتنی بر LSN و قابلیت بازیابی استریم میکند. راهاندازی شامل wal_level=logical، ساخت replication slot، انتخاب output plugin مثل pgoutput یا wal2json، گرفتن snapshot اولیه و ذخیره LSN برای پیشرفت مصرفکننده است. از منظر عملیاتی باید نگهداری WAL توسط replication slot، backpressure، تراکنشهای بزرگ، تغییرات schema، و مدیریت failover و امنیت را پایش کنید و با طراحی آیدمپوتنت در مقصد، تحویل at-least-once را کنترل کنید. در مطالب مرتبط، Peter Ullrich به transaction pooling با Pgcat و قیود آن میپردازد، Phil Eaton سفر یک کوئری SQL را در Postgres از parse تا execution روایت میکند، و Umair Shahid مفهوم Dirty Pages، نقش background writer/checkpointer و اثر تنظیمات بر پایداری I/O را توضیح میدهد.
#Postgres #WAL #ChangeDataCapture #LogicalDecoding #Pgcat #SQL #DirtyPages #DatabaseInternals
🟣لینک مقاله:
https://postgresweekly.com/link/176684/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
How to Listen to Database Changes Through the WAL
🟢 خلاصه مقاله:
شنیدن تغییرات دیتابیس از طریق WAL در Postgres یک روش پایدار برای CDC است که بدون تریگر و پولینگ اضافه، رویدادهای INSERT/UPDATE/DELETE را با ترتیب مبتنی بر LSN و قابلیت بازیابی استریم میکند. راهاندازی شامل wal_level=logical، ساخت replication slot، انتخاب output plugin مثل pgoutput یا wal2json، گرفتن snapshot اولیه و ذخیره LSN برای پیشرفت مصرفکننده است. از منظر عملیاتی باید نگهداری WAL توسط replication slot، backpressure، تراکنشهای بزرگ، تغییرات schema، و مدیریت failover و امنیت را پایش کنید و با طراحی آیدمپوتنت در مقصد، تحویل at-least-once را کنترل کنید. در مطالب مرتبط، Peter Ullrich به transaction pooling با Pgcat و قیود آن میپردازد، Phil Eaton سفر یک کوئری SQL را در Postgres از parse تا execution روایت میکند، و Umair Shahid مفهوم Dirty Pages، نقش background writer/checkpointer و اثر تنظیمات بر پایداری I/O را توضیح میدهد.
#Postgres #WAL #ChangeDataCapture #LogicalDecoding #Pgcat #SQL #DirtyPages #DatabaseInternals
🟣لینک مقاله:
https://postgresweekly.com/link/176684/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Peterullrich
Listen to Database Changes through the Postgres WAL
An in-depth guide to listening to Postgres database changes through the WAL. Covers logical replication, publications, replication slots, and an Elixir implementation.
🔵 عنوان مقاله
A SQL Query's Roadtrip Through Postgres
🟢 خلاصه مقاله:
این مطلب با الهام از توضیحات Jesús Espino و Umair Shahid نشان میدهد یک پرسوجوی SQL در Postgres چگونه از مرحله دریافت و parse، به planنویسی و سپس اجرا میرسد. Postgres با اتکا به optimizer مسیرهای دسترسی مناسب را انتخاب میکند و هنگام اجرا، دادهها را از طریق buffer manager به حافظه میآورد و با MVCC دید سازگار هر تراکنش را تضمین میکند. در مسیر نوشتن، ابتدا تغییرات در WAL ثبت میشوند و صفحات بهروزشده در حافظه به «dirty pages» تبدیل میگردند؛ یعنی نسخه درونحافظهای با نسخه روی دیسک تفاوت دارد. سپس background writer و checkpointer بهتدریج این صفحات را روی دیسک مینویسند تا پایداری داده و بازیابی سریع پس از خطا ممکن شود. تنظیماتی مثل shared_buffers و پارامترهای مربوط به checkpoint و WAL روی تأخیر، توان عملیاتی و الگوی I/O اثر مستقیم دارند. برای توسعهدهندگان، انتخاب شاخصهای مناسب، شکلدهی درست پرسوجوها و پایش با ابزارهایی مانند pg_stat_bgwriter و pg_buffercache به درک فشار نوشتن، نسبت صفحات dirty و کارایی حافظه کمک میکند.
#Postgres #SQL #DatabaseInternals #WAL #DirtyPages #QueryPlanner #Checkpoints #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/176686/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
A SQL Query's Roadtrip Through Postgres
🟢 خلاصه مقاله:
این مطلب با الهام از توضیحات Jesús Espino و Umair Shahid نشان میدهد یک پرسوجوی SQL در Postgres چگونه از مرحله دریافت و parse، به planنویسی و سپس اجرا میرسد. Postgres با اتکا به optimizer مسیرهای دسترسی مناسب را انتخاب میکند و هنگام اجرا، دادهها را از طریق buffer manager به حافظه میآورد و با MVCC دید سازگار هر تراکنش را تضمین میکند. در مسیر نوشتن، ابتدا تغییرات در WAL ثبت میشوند و صفحات بهروزشده در حافظه به «dirty pages» تبدیل میگردند؛ یعنی نسخه درونحافظهای با نسخه روی دیسک تفاوت دارد. سپس background writer و checkpointer بهتدریج این صفحات را روی دیسک مینویسند تا پایداری داده و بازیابی سریع پس از خطا ممکن شود. تنظیماتی مثل shared_buffers و پارامترهای مربوط به checkpoint و WAL روی تأخیر، توان عملیاتی و الگوی I/O اثر مستقیم دارند. برای توسعهدهندگان، انتخاب شاخصهای مناسب، شکلدهی درست پرسوجوها و پایش با ابزارهایی مانند pg_stat_bgwriter و pg_buffercache به درک فشار نوشتن، نسبت صفحات dirty و کارایی حافظه کمک میکند.
#Postgres #SQL #DatabaseInternals #WAL #DirtyPages #QueryPlanner #Checkpoints #Performance
🟣لینک مقاله:
https://postgresweekly.com/link/176686/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Internals for Interns
Overview | Internals for Interns
Ever wonder what happens when you type SELECT * FROM users WHERE id = 42; and hit Enter? That simple query triggers a fascinating journey through PostgreSQL’s internals—a complex series of operations involving multiple processes, sophisticated memory management…
🔵 عنوان مقاله
Storing Products, Prices and Orders in Postgres
🟢 خلاصه مقاله:
این مقاله نشان میدهد که در ذخیرهسازی محصولات، قیمتها و سفارشها در Postgres نرمالسازی افراطی میتواند دقت تاریخی و کارایی را مختل کند. راهکار پیشنهادی، ترکیب یک هسته رابطهای با دنرمالسازی هدفمند است: نگهداشتن اسنپشات «همانطور که فروخته شد» در سطرهای سفارش (نام/SKU، قیمت، ارز، مالیات و تخفیف) و نسخهبندی یا تاریخدار کردن قیمتها برای حفظ سابقه. برای مقادیر پولی از NUMERIC/DECIMAL و کد ارز استفاده میشود، محاسبات مالیات و تخفیف ذخیره میگردد، و ویژگیهای متغیر محصول در JSONB همراه با قیود و ایندکسهای مناسب مدیریت میشوند. همچنین بر مهاجرتهای افزایشی، تراکنشها و ایندکسگذاری/پارتیشنبندی برای مقیاسپذیری تأکید میکند تا هم صحت داده و هم عملکرد تضمین شود.
#Postgres #DatabaseDesign #DataModeling #Ecommerce #Pricing #Normalization #Denormalization #SQL
🟣لینک مقاله:
https://postgresweekly.com/link/177314/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Storing Products, Prices and Orders in Postgres
🟢 خلاصه مقاله:
این مقاله نشان میدهد که در ذخیرهسازی محصولات، قیمتها و سفارشها در Postgres نرمالسازی افراطی میتواند دقت تاریخی و کارایی را مختل کند. راهکار پیشنهادی، ترکیب یک هسته رابطهای با دنرمالسازی هدفمند است: نگهداشتن اسنپشات «همانطور که فروخته شد» در سطرهای سفارش (نام/SKU، قیمت، ارز، مالیات و تخفیف) و نسخهبندی یا تاریخدار کردن قیمتها برای حفظ سابقه. برای مقادیر پولی از NUMERIC/DECIMAL و کد ارز استفاده میشود، محاسبات مالیات و تخفیف ذخیره میگردد، و ویژگیهای متغیر محصول در JSONB همراه با قیود و ایندکسهای مناسب مدیریت میشوند. همچنین بر مهاجرتهای افزایشی، تراکنشها و ایندکسگذاری/پارتیشنبندی برای مقیاسپذیری تأکید میکند تا هم صحت داده و هم عملکرد تضمین شود.
#Postgres #DatabaseDesign #DataModeling #Ecommerce #Pricing #Normalization #Denormalization #SQL
🟣لینک مقاله:
https://postgresweekly.com/link/177314/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
CYBERTEC PostgreSQL | Services & Support
Storing products, prices and orders in PostgreSQL
This blog talks about the best practices in PostgreSQL for a data model. This blog also includes an example, read to know more.
🔵 عنوان مقاله
SQL Arena (Website)
🟢 خلاصه مقاله:
در سایت SQL Arena، یک رتبهبندی بر اساس کیفیت برنامهریزان در زمینه پایگاههای داده ارائه شده است. این رتبهبندی با استفاده از مجموعهای از پرسوجوهای TPC-H، که استانداردهای معتبری در ارزیابی عملکرد و بهینهسازی پایگاههای داده محسوب میشوند، انجام میگیرد.
این سیستم رتبهبندی با بهرهگیری از یک ابزار منبع باز ساخته شده مخصوص این هدف، توانسته است معیار دقیقی برای مقایسه و سنجش توانایی برنامهریزان در مدیریت و بهینهسازی پایگاههای داده فراهم کند. از این رو، کاربران و توسعهدهندگان میتوانند وضعیت و عملکرد برنامهریزان مختلف را در یک جدول رقابتی مشاهده و ارزیابی نمایند.
در مجموع، این پروژه ابزار قدرتمندی است که به کمک آن میتوان سطح تخصص و توانایی برنامهریزان در بهبود کارایی پایگاههای داده را بهتر درک کرد و انتخابهای آگاهانهتری در این زمینه داشت.
#پایگاه_داده #رتبهبندی #بهینهسازی #SQL
🟣لینک مقاله:
https://sql-arena.com/index.html?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
SQL Arena (Website)
🟢 خلاصه مقاله:
در سایت SQL Arena، یک رتبهبندی بر اساس کیفیت برنامهریزان در زمینه پایگاههای داده ارائه شده است. این رتبهبندی با استفاده از مجموعهای از پرسوجوهای TPC-H، که استانداردهای معتبری در ارزیابی عملکرد و بهینهسازی پایگاههای داده محسوب میشوند، انجام میگیرد.
این سیستم رتبهبندی با بهرهگیری از یک ابزار منبع باز ساخته شده مخصوص این هدف، توانسته است معیار دقیقی برای مقایسه و سنجش توانایی برنامهریزان در مدیریت و بهینهسازی پایگاههای داده فراهم کند. از این رو، کاربران و توسعهدهندگان میتوانند وضعیت و عملکرد برنامهریزان مختلف را در یک جدول رقابتی مشاهده و ارزیابی نمایند.
در مجموع، این پروژه ابزار قدرتمندی است که به کمک آن میتوان سطح تخصص و توانایی برنامهریزان در بهبود کارایی پایگاههای داده را بهتر درک کرد و انتخابهای آگاهانهتری در این زمینه داشت.
#پایگاه_داده #رتبهبندی #بهینهسازی #SQL
🟣لینک مقاله:
https://sql-arena.com/index.html?utm_source=tldrdata
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Sql-Arena
SQL Arena
Deep dives into query optimizers and database internals.
🔵 عنوان مقاله
Scan Types in EXPLAIN Plans Explained
🟢 خلاصه مقاله:
انواع اسکن در طرحهای EXPLAIN چگونه است؟
استفاده از دستور EXPLAIN برای درک چگونگی اجرای یک کوئری، کمک بزرگی در عیبیابی مشکلات عملکرد یا بهینهسازی کوئریهای SQL است. این ابزار به شما نشان میدهد که سیستم چگونه دادهها را جستوجو میکند و منابع را مصرف میکند. اما اصطلاحاتی مانند “Seq Scan” و “Index Scan” چه معنی دارند و چه تفاوتی با هم دارند؟
در این مقاله، الیزابت انواع اصلی اسکنها را توضیح میدهد. او با ارائه نمودارها، هر نوع اسکن را به وضوح شرح میکند و نکات مهم هر یک را برجسته میسازد. قطعا پس از مطالعه این مطالب، به درک عمیقتری از نحوه کار پایگاههای داده و بهبود عملکرد کوئریهای خود خواهید رسید.
#پایگاه_داده #SQL #بهینه_سازی #توسعه
🟣لینک مقاله:
https://postgresweekly.com/link/178311/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Scan Types in EXPLAIN Plans Explained
🟢 خلاصه مقاله:
انواع اسکن در طرحهای EXPLAIN چگونه است؟
استفاده از دستور EXPLAIN برای درک چگونگی اجرای یک کوئری، کمک بزرگی در عیبیابی مشکلات عملکرد یا بهینهسازی کوئریهای SQL است. این ابزار به شما نشان میدهد که سیستم چگونه دادهها را جستوجو میکند و منابع را مصرف میکند. اما اصطلاحاتی مانند “Seq Scan” و “Index Scan” چه معنی دارند و چه تفاوتی با هم دارند؟
در این مقاله، الیزابت انواع اصلی اسکنها را توضیح میدهد. او با ارائه نمودارها، هر نوع اسکن را به وضوح شرح میکند و نکات مهم هر یک را برجسته میسازد. قطعا پس از مطالعه این مطالب، به درک عمیقتری از نحوه کار پایگاههای داده و بهبود عملکرد کوئریهای خود خواهید رسید.
#پایگاه_داده #SQL #بهینه_سازی #توسعه
🟣لینک مقاله:
https://postgresweekly.com/link/178311/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Crunchy Data
Postgres Scan Types in EXPLAIN Plans | Crunchy Data Blog
What is a sequential scan vs index scan vs parallel scan .... and what is a bitmap heap scan? Postgres scan types explained and diagrammed.
🔵 عنوان مقاله
ALTER TABLE .. MERGE PARTITIONS
🟢 خلاصه مقاله:
در جدیدترین شماره خبرنامه Golang Weekly، موضوع مهمی مورد بررسی قرار گرفته است که به قابلیتهای مدیریت دادهها در پایگاههای داده مرتبط است. این مقاله به بررسی نحوه کار با دستورات «ALTER TABLE» و ویژگی مهم «MERGE PARTITIONS» میپردازد، که ابزار قدرتمندی برای سازماندهی و بهینهسازی حجم بزرگ دادهها محسوب میشود.
در این مقاله، ابتدا به اهمیت مدیریت بخشهای مختلف دادهها در جداول پایگاه داده اشاره شده است. این بخشبندیها یا پارتیشنها، کمک میکنند تا عملیات خواندن و نوشتن روی دادهها سریعتر انجام شود و فرآیند نگهداری و بهروزرسانی دادهها منظمتر باشد. یکی از امکانات پیشرفته در این زمینه، امکان ادغام پارتیشنها است که به کمک دستور «MERGE PARTITIONS» در «ALTER TABLE»، میتوان چند پارتیشن مجزا را با هم ترکیب کرد و ساختار منطقی پایگاه داده را بهبود بخشید.
در ادامه، جزئیات نحوه استفاده از این دستور توضیح داده شده و مزایای آن برای توسعهدهندگان و مدیران پایگاه داده برشمرده شده است. ادغام پارتیشنها سبب کاهش پیچیدگی مدیریت دادهها میشود و کارایی عملیات جستجو و بازیابی اطلاعات را افزایش میدهد. این قابلیت، بهویژه در سیستمهایی که حجم بسیار بالای داده دارند، نقشی حیاتی ایفا میکند و کمک میکند تا پایگاه دادهها به شکل بهتری سازماندهی شوند.
در نهایت، مقاله نکات مهمی را درباره نحوه صحیح بهکارگیری این دستور و نکاتی که باید در نظر گرفته شود، ارائه میدهد، تا کاربران بتوانند به بهترین شکل از آن بهرهمند شوند و ساختار پایگاه داده خود را بهینه کنند.
در کل، این مقاله ابزار و راهکارهای مفیدی را برای بهبود و بهروزرسانی ساختار دادهها در پروژههای بزرگ ارائه میدهد و به توسعهدهندگان و مدیران پایگاه داده کمک میکند تا سیستمهای کارآمدتر و مدیریتی بهتر داشته باشند.
#پایگاه_داده #مدیریت_پارتیشن #پایگاه_داده_هوشمند #SQL
🟣لینک مقاله:
https://postgresweekly.com/link/179512/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
ALTER TABLE .. MERGE PARTITIONS
🟢 خلاصه مقاله:
در جدیدترین شماره خبرنامه Golang Weekly، موضوع مهمی مورد بررسی قرار گرفته است که به قابلیتهای مدیریت دادهها در پایگاههای داده مرتبط است. این مقاله به بررسی نحوه کار با دستورات «ALTER TABLE» و ویژگی مهم «MERGE PARTITIONS» میپردازد، که ابزار قدرتمندی برای سازماندهی و بهینهسازی حجم بزرگ دادهها محسوب میشود.
در این مقاله، ابتدا به اهمیت مدیریت بخشهای مختلف دادهها در جداول پایگاه داده اشاره شده است. این بخشبندیها یا پارتیشنها، کمک میکنند تا عملیات خواندن و نوشتن روی دادهها سریعتر انجام شود و فرآیند نگهداری و بهروزرسانی دادهها منظمتر باشد. یکی از امکانات پیشرفته در این زمینه، امکان ادغام پارتیشنها است که به کمک دستور «MERGE PARTITIONS» در «ALTER TABLE»، میتوان چند پارتیشن مجزا را با هم ترکیب کرد و ساختار منطقی پایگاه داده را بهبود بخشید.
در ادامه، جزئیات نحوه استفاده از این دستور توضیح داده شده و مزایای آن برای توسعهدهندگان و مدیران پایگاه داده برشمرده شده است. ادغام پارتیشنها سبب کاهش پیچیدگی مدیریت دادهها میشود و کارایی عملیات جستجو و بازیابی اطلاعات را افزایش میدهد. این قابلیت، بهویژه در سیستمهایی که حجم بسیار بالای داده دارند، نقشی حیاتی ایفا میکند و کمک میکند تا پایگاه دادهها به شکل بهتری سازماندهی شوند.
در نهایت، مقاله نکات مهمی را درباره نحوه صحیح بهکارگیری این دستور و نکاتی که باید در نظر گرفته شود، ارائه میدهد، تا کاربران بتوانند به بهترین شکل از آن بهرهمند شوند و ساختار پایگاه داده خود را بهینه کنند.
در کل، این مقاله ابزار و راهکارهای مفیدی را برای بهبود و بهروزرسانی ساختار دادهها در پروژههای بزرگ ارائه میدهد و به توسعهدهندگان و مدیران پایگاه داده کمک میکند تا سیستمهای کارآمدتر و مدیریتی بهتر داشته باشند.
#پایگاه_داده #مدیریت_پارتیشن #پایگاه_داده_هوشمند #SQL
🟣لینک مقاله:
https://postgresweekly.com/link/179512/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
PostgreSQL Mailing List Archives
pgsql: Implement ALTER TABLE ... MERGE PARTITIONS ... command
Implement ALTER TABLE ... MERGE PARTITIONS ... command This new DDL command merges several partitions into a single partition of …
🔵 عنوان مقاله
RegreSQL 1.5: Regression Testing for SQL Queries
🟢 خلاصه مقاله:
رگرساسکیول ۱.۵: آزمونهای رجیسیون برای کوئریهای SQL
در اصل، مفهوم این ابزار بسیار ساده است ولی در عین حال بسیار کاربردی. شما کافی است کوئریهای خود را اجرا کنید و نتایج مورد انتظار را ثبت کنید. سپس، در اجرایهای بعدی، این نتایج را با نتایج جدید مقایسه میکنید تا هرگونه تغییر در هزینه، ورودی و خروجی، یا سایر ویژگیهای کوئریها را شناسایی کنید. این فرآیند به شما کمک میکند در صورت وقوع تغییرات غیرمنتظره در نتایج، سریعاً مطلع شوید و از بروز مشکلات بزرگ جلوگیری کنید. با استفاده از این ابزار، کنترل بهتری بر روی کیفیت و عملکرد کوئریهای SQL خود خواهید داشت و خطاهای احتمالی به سهولت قابل شناسایی است.
#تست_رگرسیون #SQL #پکیج_برنامه_نویسی #پایگاه_داده
🟣لینک مقاله:
https://postgresweekly.com/link/179910/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
RegreSQL 1.5: Regression Testing for SQL Queries
🟢 خلاصه مقاله:
رگرساسکیول ۱.۵: آزمونهای رجیسیون برای کوئریهای SQL
در اصل، مفهوم این ابزار بسیار ساده است ولی در عین حال بسیار کاربردی. شما کافی است کوئریهای خود را اجرا کنید و نتایج مورد انتظار را ثبت کنید. سپس، در اجرایهای بعدی، این نتایج را با نتایج جدید مقایسه میکنید تا هرگونه تغییر در هزینه، ورودی و خروجی، یا سایر ویژگیهای کوئریها را شناسایی کنید. این فرآیند به شما کمک میکند در صورت وقوع تغییرات غیرمنتظره در نتایج، سریعاً مطلع شوید و از بروز مشکلات بزرگ جلوگیری کنید. با استفاده از این ابزار، کنترل بهتری بر روی کیفیت و عملکرد کوئریهای SQL خود خواهید داشت و خطاهای احتمالی به سهولت قابل شناسایی است.
#تست_رگرسیون #SQL #پکیج_برنامه_نویسی #پایگاه_داده
🟣لینک مقاله:
https://postgresweekly.com/link/179910/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
boringSQL | Supercharge your SQL & PostgreSQL powers
RegreSQL - SQL Regression Testing Tool
RegreSQL catches query regressions before production. Compare query outputs against baselines, track EXPLAIN plan costs, and test migrations with confidence.