myDBR 7.7 پشتیبانی از PostgreSQL را به گزارش‌گیری تحت وب اضافه کرد

چرا مهم است

اگر با PostgreSQL گزارش می‌سازی، حالا می‌توانی منطق گزارش را در PL/pgSQL نگه داری و رابط وب را به myDBR بسپاری. برای کنترل دسترسی هم می‌توانی تعیین ردیف‌های قابل مشاهده را به خود database واگذار کنی.

قبل از خواندن، این‌ها را بدان۵ مفهوم
result set

مجموعه داده‌ای که از اجرای یک query یا عملیات database برمی‌گردد و معمولاً به شکل ردیف و ستون نمایش داده می‌شود.

بیشتر درباره این مفهوم

cursor

سازوکاری در database برای دسترسی به ردیف‌های یک result set و خواندن آن‌ها به‌صورت مرحله‌ای.

بیشتر درباره این مفهوم

transaction

مجموعه‌ای از عملیات database که به‌عنوان یک واحد اجرا می‌شوند؛ یا همه تغییرات آن ثبت می‌شود یا در صورت شکست، هیچ‌کدام باقی نمی‌ماند.

بیشتر درباره این مفهوم

نمایش همه (۵)
schema

فضای نامی در database برای دسته‌بندی object‌هایی مانند جدول و function و جدا نگه داشتن نام‌های آن‌ها.

بیشتر درباره این مفهوم

Row-level Security

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

بیشتر درباره این مفهوم

myDBR.com پشتیبانی از PostgreSQL را در myDBR 7.7 معرفی کرده است. این پلتفرم گزارش‌گیری تحت وب، پیش‌تر از MySQL،؜ MariaDB و Microsoft SQL Server پشتیبانی می‌کرد و اکنون PostgreSQL 12 یا بالاتر هم می‌تواند object‌های داخلی myDBR و گزارش‌های آن را نگهداری کند.

در myDBR،؜ توسعه‌دهنده منطق گزارش را با SQL در database می‌نویسد و پلتفرم، رابط وب را فراهم می‌کند: فرم دریافت پارامتر، جدول، نمودار، نقشه، drill-down،؜ زمان‌بندی، مدیریت کاربر و خروجی Excel،؜ PDF و CSV. کاربر برای دیدن گزارش فقط به مرورگر نیاز دارد؛ ابزار جداگانه‌ای برای طراحی گزارش یا زبان اختصاصی query لازم نیست.

در PostgreSQL،؜ هر گزارش یک function از نوع PL/pgSQL است که برای هر result set یک cursor برمی‌گرداند. عنوان، نمودار، جدول، tab و نقشه هرکدام با یک result set مشخص می‌شوند؛ بنابراین یک function می‌تواند یک صفحه کامل گزارش را بسازد.

نصب‌کننده تحت وب، role و database را ایجاد می‌کند و script ساخت را در یک transaction اجرا می‌کند تا در صورت شکست، نصب نیمه‌کاره باقی نماند. myDBR همچنین می‌تواند در schema مستقل خود، کنار داده‌های موجود قرار بگیرد؛ ساختاری که با مدل یک database برای هر connection در PostgreSQL سازگار است.

برای کنترل دسترسی، myDBR می‌تواند هویت کاربر واردشده را به PostgreSQL منتقل کند یا هر گزارش را با role همان کاربر در database اجرا کند. با Row-level Security،؜ خود database تعیین می‌کند کدام ردیف‌ها قابل مشاهده‌اند؛ در نتیجه، کپی یا تغییر گزارش هم نمی‌تواند داده‌ای فراتر از دسترسی مجاز کاربر نشان دهد.

مدیران می‌توانند با statement_timeout و lock_timeout محدودیت‌های سراسری یا جداگانه برای هر گزارش تعیین کنند. مشاهده گزارش‌های در حال اجرا و لغو آن‌ها نیز ممکن است. SQL Editor،؜ نمایش query plan با EXPLAIN،؜ مرور داده، query builder،؜ همگام‌سازی بین server‌ها، version control با Git و دستیار AI گزارش نیز با PostgreSQL کار می‌کنند.

پیش‌نیازهای اعلام‌شده شامل PostgreSQL 12 یا بالاتر، PHP 8.0 یا بالاتر همراه با extension به نام pgsql و extension به نام citext از مجموعه contrib است. برای PostgreSQL،؜ نسخه 14 یا بالاتر توصیه شده است.

نکته کلیدی

برای ساخت گزارش در این مدل، هر result set را با یک cursor از function برگردان. پیش از نصب هم نسخه PostgreSQL و PHP و وجود extension‌های pgsql و citext را بررسی کن؛ PostgreSQL 14 یا بالاتر توصیه شده است.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۴)