[{"data":1,"prerenderedAt":163},["ShallowReactive",2],{"seo-verification":3,"blog-هجرة-sql-server-2016-إلى-postgresql-على-vps-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-هجرة-sql-server-2016-إلى-postgresql-على-vps-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":128,"ctaBody":129,"ctaButton":130,"ctaUrl":131,"relatedPosts":132},467,"هجرة-sql-server-2016-إلى-postgresql-على-vps",{"fr":12,"en":13,"ar":10,"es":14},"migrer-sql-server-vers-postgresql-vps","migrating-sql-server-2016-to-postgresql-on-a-vps","migrar-sql-server-2016-a-postgresql-en-un-vps","هجرة SQL Server 2016 إلى PostgreSQL على VPS","انتهى دعم SQL Server 2016 في يوليو 2026. دليل تقني للهجرة إلى PostgreSQL على VPS: أنواع البيانات، فجوات T-SQL، pgloader، وخطة التبديل.",12,0,false,"2026-10-18T00:00:00+00:00","2026-10-18T21:57:56+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},6,"قواعد البيانات","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmigrer-sql-server-vers-postgresql-vps-poster.svg","‏في 14 يوليو 2026، أنهت ‏Microsoft دعمها الممتد لـ ‏SQL Server 2016. لن تصدر أي تحديثات أمنية لهذا الإصدار بعد الآن. أمام الفرق التي لا تزال تعمل على هذه القاعدة خياران واقعيان: الترقية المدفوعة إلى ‏SQL Server 2022، أو الهجرة إلى بديل مفتوح المصدر. ‏PostgreSQL 16 قاعدة بيانات علائقية ناضجة وعالية الأداء ولا تكلف رسوم ترخيص. الهجرة ليست بسيطة — فلهجة ‏T-SQL الخاصة بـ ‏Microsoft اختلافات جوهرية عن ‏SQL المعياري، كما تختلف أنواع البيانات في نقاط عدة. يوضح هذا الدليل التعارضات الجوهرية، ومقابلات الأنواع، وخطة تبديل منظمة لتجنب فقدان البيانات والانحدار في أداء التطبيق.",[35,39,50,53,89,92,112,115,118,122,125],{"type":36,"title":37,"body":38},"h2","‏SQL Server 2016‏: نهاية الدعم الممتد في 14 يوليو 2026","‏تنص سياسة دورة الحياة لدى ‏Microsoft على عشر سنوات من الدعم لكل إصدار من ‏SQL Server‏: خمس سنوات دعم عادي ثم خمس سنوات دعم ممتد. بالنسبة لـ ‏SQL Server 2016، انتهى الدعم الممتد في 14 يوليو 2026. بعد هذا التاريخ، لا تُصدر ‏Microsoft أي تحديثات أمنية أو إصلاحات حرجة لهذا الإصدار. يتراكم على أي خادم ‏SQL Server 2016 متصل بالشبكة بعد هذا التاريخ ثغرات أمنية غير مسدودة. تشترط المتطلبات التنظيمية — ‏PCI-DSS‏ و‏GDPR‏ و‏ISO 27001 — عموماً أن تتلقى مكونات البنية التحتية التحديثات الأمنية المتاحة. وبالتالي فإن الاستمرار على ‏SQL Server 2016 بعد يوليو 2026 يُعدّ انحرافاً موثقاً قابلاً للرصد في أي تدقيق.",{"type":40,"title":41,"items":42},"ul","لماذا نختار PostgreSQL بدلاً من ترقية SQL Server أو Azure SQL",[43,44,45,46,47,48,49],"‏تكلفة ترخيص صفرية: ‏PostgreSQL صادر بموجب رخصة ‏PostgreSQL (مرنة تشبه ‏BSD)، دون ‏CAL ودون إصدار ‏Enterprise منفصل للشراء.","‏تحكم كامل في البنية التحتية: على ‏VPS مخصص، تتولى إدارة الإصدارات والإضافات وضبط الذاكرة والنسخ الاحتياطية دون الاعتماد على مزود سحابي.","‏SQL Server 2022 يُعالج ثقل الإصدار لكنه يُبقي تكاليف الترخيص ويربط المؤسسة بمنظومة ‏Microsoft.","‏Azure SQL Managed Instance يبسّط الهجرة لكنه يُضيف تكلفة شهرية متكررة وتبعية لـ ‏Azure وقيوداً إضافية على الشبكة.","‏PostgreSQL يدعم الميزات المتقدمة ذاتها: دوال النوافذ التحليلية، ‏CTE المتكررة، ‏JSON الأصيل، تقسيم الجداول، والنسخ المتماثل المنطقي.","‏منظومة الأدوات واسعة: ‏pgAdmin وDBeaver وMetabase وPostgREST، ومعظم أطر ‏ORM (‏Entity Framework وHibernate وSQLAlchemy وActiveRecord) تدعم ‏PostgreSQL.","‏توزيعات ‏Linux الرئيسية تحزّم ‏PostgreSQL مع تحديثات أمنية منتظمة ضمن عقد صيانة التوزيعة.",{"type":36,"title":51,"body":52},"التدقيق الأولي: ما يُهاجَر بسلاسة وما يستلزم عملاً","‏قبل كتابة أي أمر للهجرة، لا بد من تدقيق الهيكل. العناصر التي تُهاجَر دون عائق: الجداول البسيطة ذات الأنواع المعيارية، وقيود ‏PRIMARY KEY وFOREIGN KEY وUNIQUE وNOT NULL، والمؤشرات من نوع ‏B-tree، والعروض الخالية من صياغة ‏T-SQL الخاصة، والتسلسلات. العناصر التي تستلزم عملاً صريحاً: الإجراءات المخزنة ودوال ‏T-SQL (صياغة غير متوافقة، يجب إعادة كتابتها بـ ‏PL\u002FpgSQL أو نقلها إلى طبقة التطبيق)، والمحفزات التي تستخدم الجداول الوهمية ‏INSERTED وDELETED (المقابل في ‏PostgreSQL‏: ‏NEW وOLD)، وأعمدة ‏ROWVERSION\u002FTIMESTAMP المستخدمة لاكتشاف التزامن التفاؤلي، والأعمدة المحسوبة، وتلميحات القفل (‏WITH (NOLOCK) و‏WITH (UPDLOCK))، والجداول المؤقتة العامة (‏##temp). يمكن الحصول على قائمة كاملة بعناصر ‏SQL Server عبر استعلام ‏INFORMATION_SCHEMA وعروض النظام ‏sys‎.objects وsys‎.procedures وsys‎.triggers.",{"type":54,"title":55,"rows":56,"headers":85},"comparison","مقابلة أنواع البيانات: SQL Server ← PostgreSQL",[57,61,65,69,73,77,81],[58,59,60],"DATETIME2","TIMESTAMPTZ","‏تخزين الطوابع الزمنية مع المنطقة الزمنية؛ ‏DATETIME2 لا يحمل منطقة زمنية، يجب تحديد اتفاقية ‏UTC صراحةً",[62,63,64],"UNIQUEIDENTIFIER","UUID","‏PostgreSQL يدعم ‏UUID أصلياً؛ استخدم إضافة ‏uuid-ossp أو ‏gen_random_uuid()‎ للتوليد",[66,67,68],"NVARCHAR(MAX) \u002F NTEXT","TEXT","‏PostgreSQL يخزّن جميع السلاسل بـ ‏UTF-8؛ لا تمييز بين ‏NVARCHAR وVARCHAR ولا حد ‏MAX منفصل",[70,71,72],"BIT","BOOLEAN","‏تصبح القيم ‏0\u002F1 قيمتَي ‏false\u002Ftrue؛ انتبه لأعمدة ‏BIT المستخدمة كأعداد صحيحة في العمليات الحسابية",[74,75,76],"MONEY \u002F SMALLMONEY","NUMERIC(19,4)","‏MONEY في ‏SQL Server عدد صحيح مُدرَّج، ‏NUMERIC دقيق؛ سلوك متطابق للحسابات المالية",[78,79,80],"INT IDENTITY(1,1)","SERIAL أو GENERATED ALWAYS AS IDENTITY","‏SERIAL اختصار لتسلسل؛ ‏GENERATED ALWAYS AS IDENTITY معيار ‏SQL:2003، يُفضَّل للجداول الجديدة",[82,83,84],"ROWVERSION \u002F TIMESTAMP","bytea + trigger أو xmin","‏لا مقابل مباشر؛ عمود النظام ‏xmin يُعالج اكتشاف التزامن التفاؤلي في معظم الحالات",[86,87,88],"نوع SQL Server","نوع PostgreSQL","ملاحظة",{"type":36,"title":90,"body":91},"تعارضات T-SQL الشائعة ومقابلاتها في PostgreSQL","‏ثمة بنى ‏T-SQL شائعة لا مقابل مباشر لها في ‏SQL المعياري وتستلزم إعادة كتابة.\n\n‏TOP N بدون ORDER BY‏: يقبل ‏SQL Server ‏SELECT TOP 10 * FROM t بلا ترتيب. يستلزم ‏PostgreSQL استخدام ‏LIMIT 10؛ وإن كان الترتيب مهماً فأضف ‏ORDER BY صريحاً.\n\n‏ISNULL(expr, value)‏: تقابلها الدالة المعيارية ‏COALESCE(expr, value). السلوك متطابق للحالات الشائعة.\n\n‏GETDATE()‎ و‏GETUTCDATE()‎‏: تصبحان ‏NOW()‎ (طابع زمني مع منطقة الجلسة) و‏NOW() AT TIME ZONE 'UTC'‎ أو ‏CURRENT_TIMESTAMP على التوالي.\n\n‏DATEDIFF و‏DATEADD‏: يستخدم ‏PostgreSQL حساب الفترات: ‏date + INTERVAL '7 days'‎، ويُرجع ‏date2 - date1 قيمة ‏INTERVAL.\n\n‏تلميح ‏WITH (NOLOCK)‏: يطلب هذا التلميح قراءة بلا قفل مشترك. لا يدعم ‏PostgreSQL هذا التلميح؛ يغطي مستوى عزل ‏READ COMMITTED (الافتراضي) معظم حالات الاستخدام. لتقارير التحليل التي تتحمل بيانات قديمة قليلاً، النسخة المتماثلة للقراءة هي الحل البنيوي.\n\n‏PRINT في الإجراءات: استخدم ‏RAISE NOTICE 'message'‎ في ‏PL\u002FpgSQL.\n\n‏GO كفاصل دُفعات: لا وجود لهذا الفاصل في ‏PostgreSQL؛ يجب إعادة هيكلة السكريبتات إلى معاملات أو كتل ‏DO $$...$$‎ منفصلة.",{"type":93,"title":94,"steps":95},"steps","خطة الهجرة في 8 خطوات",[96,98,100,102,104,106,108,110],{"body":97},"‏حصر الهيكل وتدقيقه: تصدير قائمة بجميع الجداول والأعمدة مع أنواعها والمؤشرات والقيود والإجراءات المخزنة والدوال والمحفزات والعروض. تحديد الكائنات التي تستلزم إعادة كتابة يدوية وترتيبها حسب الأولوية.",{"body":99},"‏إعداد خادم ‏PostgreSQL المستهدف على ‏VPS‏: تثبيت ‏PostgreSQL 16، وضبط ‏postgresql‎.conf (الذاكرة المشتركة، الاتصالات، ‏WAL)، وإنشاء مستخدم التطبيق بالحد الأدنى من الصلاحيات، وتفعيل ‏TLS للاتصالات البعيدة.",{"body":101},"‏تحويل الهيكل والبيانات باستخدام ‏pgloader أو يدوياً: يُهاجر الأمر ‏pgloader mssql:\u002F\u002Fuser:pass@host\u002Fdb postgresql:\u002F\u002Fuser:pass@vps\u002Fdb‎ الهيكل والبيانات بأمر واحد. للهياكل المعقدة، صدّر ‏DDL من ‏SQL Server وكيّفه يدوياً مستعيناً بجدول مقابلة الأنواع.",{"body":103},"‏التحقق من الهيكل المُهاجَر: التحقق من عدد الجداول وعدد الصفوف لكل جدول والنزاهة المرجعية (‏FOREIGN KEY) والمؤشرات. مقارنة الأنواع الفعلية بالأنواع المتوقعة عبر ‏information_schema‎.columns.",{"body":105},"‏إعادة كتابة الإجراءات المخزنة والمحفزات: يجب إعادة كتابة كل كائن ‏T-SQL بـ ‏PL\u002FpgSQL أو نقل منطقه إلى طبقة التطبيق. اختبار كل إجراء بشكل مستقل بمجموعات بيانات تمثيلية.",{"body":107},"‏تكييف كود التطبيق: البحث في الكود المصدري عن جميع عبارات ‏SQL الحرفية والاستعلامات ذات المعاملات التي تستخدم بنى ‏T-SQL الخاصة. تحديث موصّل الاتصال (التحول من ‏mssql إلى ‏pg أو ‏psycopg2 أو ‏npgsql أو الموصّل المناسب للبنية التقنية).",{"body":109},"‏اختبار الحمل والتراجع: تشغيل مجموعة اختبارات التراجع الكاملة على قاعدة بيانات ‏PostgreSQL للتجهيز. استخدام ‏pgbench للتحقق من الأداء تحت الضغط. مقارنة خطط تنفيذ الاستعلامات الحرجة (‏EXPLAIN ANALYZE) بين ‏SQL Server وPostgreSQL.",{"body":111},"‏التبديل في نافذة صيانة: تحديد نافذة زمنية (ليلاً أو عطلة نهاية الأسبوع)، وضع التطبيق في وضع الصيانة، تشغيل هجرة تفاضلية نهائية للبيانات المضافة منذ الهجرة الأولية، توجيه ‏DSN التطبيق نحو ‏PostgreSQL، التحقق من الوظائف الحرجة، ورفع الصيانة. إبقاء ‏SQL Server في وضع القراءة فقط 48 ساعة للسماح بتراجع سريع عند الحاجة.",{"type":36,"title":113,"body":114},"ضبط PostgreSQL 16 على VPS للإنتاج","‏التثبيت الافتراضي لـ ‏PostgreSQL غير مضبوط للإنتاج. المعاملات التالية في ‏postgresql‎.conf هي نقطة انطلاق لـ ‏VPS بذاكرة 4 ‏GB.\n\n‏shared_buffers‏: اضبطها على 25% من الذاكرة المتاحة، أي ‏1GB لـ 4 ‏GB. يحدد هذا المعامل الذاكرة المخصصة للذاكرة المؤقتة الداخلية لـ ‏PostgreSQL.\n\n‏effective_cache_size‏: اضبطها على 75% من إجمالي الذاكرة، أي ‏3GB. يُعلم هذا المعامل مُخطِّط الاستعلامات بالذاكرة المتاحة لذاكرة نظام التشغيل المؤقتة.\n\n‏work_mem‏: من ‏16MB إلى ‏64MB حسب تعقيد استعلامات الترتيب. يُطبَّق هذا المعامل لكل عملية ترتيب ولكل اتصال؛ قيمة مرتفعة جداً على خادم يحمل اتصالات متزامنة كثيرة تُنهك الذاكرة.\n\n‏maintenance_work_mem‏: ‏256MB لعمليات الصيانة (‏VACUUM وCREATE INDEX).\n\n‏max_connections‏: ‏100 كافٍ لمعظم التطبيقات التي تستخدم مجمّع اتصالات. إن كان التطبيق يفتح اتصالاً لكل طلب بلا مجمّع، استخدم ‏PgBouncer أمامه.\n\n‏في ‏pg_hba‎.conf‏، اقصر الاتصالات البعيدة على عنوان ‏IP خادم التطبيق واشترط ‏TLS‏: ‏hostssl all appuser 10.0.0.5\u002F32 scram-sha-256.\n\n‏فعّل ‏TLS بتوليد شهادة (‏Let's Encrypt أو شهادة داخلية) وضبط ‏ssl = on وssl_cert_file وssl_key_file في ‏postgresql‎.conf.",{"type":36,"title":116,"body":117},"المزالق: الإجراءات المخزنة ومحفزات T-SQL","‏الإجراءات المخزنة بـ ‏T-SQL هي نقطة الاحتكاك الرئيسية في الهجرة من ‏SQL Server إلى ‏PostgreSQL. ‏T-SQL لهجة خاصة بهياكل تحكم ومعالجة مؤشرات ومعالجة أخطاء (كتل ‏TRY..‎.CATCH) لا مقابل مباشر لها في ‏PL\u002FpgSQL.\n\n‏مؤشرات ‏FAST_FORWARD في ‏SQL Server تصبح حلقات ‏FOR في ‏PL\u002FpgSQL، لكن الأداء مماثل ويجب في كل الأحوال التساؤل عن ضرورة المؤشرات: الاستعلام المبني على مجموعات البيانات يحل محل المؤشر بشكل أكثر كفاءة في الغالب.\n\n‏كتلة ‏TRY..‎.CATCH تصبح ‏BEGIN..‎.EXCEPTION WHEN OTHERS THEN في ‏PL\u002FpgSQL.\n\n‏الجداول المؤقتة المحلية (‏#temp) تقابلها الجداول المؤقتة للجلسة في ‏PostgreSQL المنشأة بـ ‏CREATE TEMPORARY TABLE. الجداول المؤقتة العامة (‏##temp) لا مقابل مباشر لها — يجب استبدالها بجداول دائمة مع إدارة صريحة لدورة الحياة.\n\n‏المحفزات التي تُشير إلى ‏INSERTED وDELETED (الجداول الوهمية في ‏SQL Server) يجب إعادة كتابتها لاستخدام ‏NEW وOLD في ‏PostgreSQL. هيكل التشغيل يختلف أيضاً: يُميز ‏PostgreSQL بين محفزات ‏BEFORE وAFTER، وبين ‏FOR EACH ROW وFOR EACH STATEMENT.\n\n‏نهج عملي يقضي بنقل منطق الإجراءات المخزنة إلى طبقة التطبيق أثناء الهجرة، مما يبسّط الاختبار ويقلل الارتباط بين التطبيق وقاعدة البيانات.",{"type":119,"title":120,"body":121},"tip","اختبار الحمل قبل التبديل: pgbench ومقارنة خطط الاستعلام","‏قبل التبديل للإنتاج، تحقق من الأداء باستخدام ‏pgbench. تهيئة قاعدة بيانات اختبار تمثيلية: ‏pgbench -i -s 50 db_name‎ ينشئ هيكل معياري بخمسة ملايين صف. شغّل محاكاة حمل: ‏pgbench -c 20 -j 4 -T 60 db_name‎ يحاكي 20 اتصالاً متوازياً لمدة 60 ثانية ويُبلّغ بالمعاملات في الثانية. للاستعلامات الحرجة في التطبيق، قارن خطط التنفيذ بين ‏SQL Server (‏SET STATISTICS IO ON; SELECT ...‎) و‏PostgreSQL (‏EXPLAIN (ANALYZE, BUFFERS) SELECT ...‎). راقب مسح الجداول الكاملة غير المتوقعة (مؤشر مفقود أو إحصائيات غير محسوبة — شغّل ‏ANALYZE بعد الهجرة) وصلات ‏NESTED LOOP على أحجام كبيرة ستستفيد من ‏HASH JOIN. حدّث الإحصائيات بعد الهجرة الأولية بـ ‏ANALYZE table_name أو ‏VACUUM ANALYZE على قاعدة البيانات كاملة.",{"type":36,"title":123,"body":124},"استكشاف الأخطاء — الأخطاء الشائعة في هجرة SQL Server إلى PostgreSQL","‏ثمة فئات من الأخطاء تتكرر بانتظام في الهجرات الأولى.\n\n‏ERROR: column is of type uuid but expression is of type character varying‏: عمود ‏UNIQUEIDENTIFIER مُهاجَر إلى ‏UUID يتلقى سلسلة بتنسيق ‏UUID بلا تحويل صريح. كيّف استعلام التطبيق ليُرسل نوع ‏UUID حقيقياً، أو أضف تحويلاً ضمنياً في ‏PostgreSQL (‏CREATE CAST)، أو هاجر العمود إلى ‏TEXT إن لم تُستغل دلالات ‏UUID.\n\n‏ERROR: operator does not exist: boolean = integer‏: عمود ‏BIT مُهاجَر إلى ‏BOOLEAN يُقارَن بـ ‏0 أو ‏1. استبدل ‏col = 1 بـ ‏col = true أو ببساطة ‏col في جمل ‏WHERE.\n\n‏ERROR: function isnull(character varying, text) does not exist‏: استبدل جميع استدعاءات ‏ISNULL بـ ‏COALESCE.\n\n‏ERROR: syntax error at or near \"TOP\"‏: صياغة ‏SELECT TOP N غير موجودة في ‏PostgreSQL. استبدلها بـ ‏SELECT ... LIMIT N.\n\n‏تجاوزات صامتة على أعمدة ‏MONEY ← NUMERIC‏: تحقق من أن القيم القصوى في الجدول المصدر تتسع ضمن الدقة المستهدفة ‏NUMERIC(19,4). نطاق ‏MONEY في ‏SQL Server هو ‏±922,337,203,685,477.5807؛ يغطي ‏NUMERIC(19,4) النطاق ‏±999,999,999,999,999.9999، وهو كافٍ في جميع الحالات تقريباً.\n\n‏فقدان بيانات على أعمدة ‏DATETIME بلا منطقة زمنية: ‏DATETIME وDATETIME2 في ‏SQL Server لا يخزنان المنطقة الزمنية. إن كانت قاعدة البيانات تُغذَّى من تطبيقات في مناطق زمنية متعددة، ستُفسَّر الطوابع الزمنية المُهاجَرة إلى ‏TIMESTAMPTZ بلا تحويل سابق على أنها ‏UTC. حدد اتفاقية (‏UTC أو التوقيت المحلي) وطبّق تحويل ‏AT TIME ZONE أثناء الهجرة إن لزم.",{"type":36,"title":126,"body":127},"التحقق من الهجرة وإعادة الوصول للمستخدمين","‏بعد التبديل، تُقلل قائمة التحقق المنظمة من خطر إعادة المستخدمين إلى قاعدة بيانات ناقصة.\n\n‏تحقق من عدد الصفوف لجميع الجداول الحرجة: استعلام على ‏information_schema‎.tables مع ‏COUNT(*)‎ لكل جدول، مقارنةً بالأرقام المسجلة من ‏SQL Server قبل الهجرة.\n\n‏تحقق من النزاهة المرجعية: ‏SELECT * FROM pg_constraint WHERE contype = 'f'‎ يُدرج جميع قيود المفتاح الخارجي؛ حاول إدراجاً ينتهك قيداً للتأكد من فعاليتها.\n\n‏تحقق من المؤشرات: ‏SELECT indexname, indexdef FROM pg_indexes WHERE schemaname = 'public'‎ يُدرج جميع المؤشرات المنشأة. قارنها بقائمة مؤشرات ‏SQL Server.\n\n‏اختبر الوظائف الحرجة في التطبيق: مسار الشراء، والمصادقة، والتقارير، والتصدير — على الأقل المسارات التي تمس الجداول الأكثر حجماً والاستعلامات الأكثر تعقيداً.\n\n‏راقب سجلات ‏PostgreSQL خلال الـ 24 ساعة الأولى: ‏tail -f \u002Fvar\u002Flog\u002Fpostgresql\u002Fpostgresql-*‎.log‎. تظهر أخطاء عدم تطابق الأنواع ومهلات الاتصال وخطط الاستعلام دون المستوى الأمثل عادةً في الساعات الأولى من حركة المرور الحقيقية.\n\n‏أبق ‏SQL Server في وضع القراءة فقط 48 ساعة مع تقييد الوصول للفريق التقني. التراجع يعني توجيه ‏DSN التطبيق مجدداً نحو ‏SQL Server وإعادة تشغيل البيانات المكتوبة في ‏PostgreSQL خلال نافذة التبديل.","VPS جاهز لـ PostgreSQL 16","‏VPS من ‏ServOrbit مهيأة لـ ‏PostgreSQL 16‏: أقراص ‏NVMe SSD، لقطة يومية، وصول ‏root كامل. انشر قاعدة بياناتك المُهاجَرة بلا قيود ترخيص.","‏عرض VPS من ServOrbit","\u002Fsolutions\u002Fprofessionnels",[133,148],{"id":134,"slug":135,"slugs":136,"title":140,"excerpt":141,"readTime":142,"views":18,"isPinned":19,"publishedAt":143,"updatedAt":21,"category":144,"categories":145,"featuredImage":30,"bgImage":31,"posterImage":147,"relatedSolution":30},464,"mysql-8-0-انتهاء-الدعم-ترقية-vps",{"fr":137,"en":138,"ar":135,"es":139},"mysql-8-0-eol-migration-vps","mysql-8-0-end-of-life-migration-vps","mysql-8-0-fin-de-soporte-migracion-vps","هجرة ‏MySQL 8.0 إلى 8.4 LTS على خادم VPS: دليل شامل","وصل ‏MySQL 8.0 إلى نهاية دعمه الرسمي في 30 أبريل 2026. هاجر إلى ‏MySQL 8.4 LTS على خادم ‏VPS خطوة بخطوة: التغييرات الجذرية، والفحوصات المسبقة، ومتى تختار ‏MariaDB 11.x بديلاً.",10,"2026-10-17T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[146],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fmysql-8-0-eol-migration-vps-poster.svg",{"id":149,"slug":150,"slugs":151,"title":155,"excerpt":156,"readTime":157,"views":18,"isPinned":19,"publishedAt":158,"updatedAt":21,"category":159,"categories":160,"featuredImage":30,"bgImage":31,"posterImage":162,"relatedSolution":30},461,"نقل-postgresql-من-rds-و-cloud-sql-و-supabase-إلى-vps",{"fr":152,"en":153,"ar":150,"es":154},"postgresql-migrer-cloud-vers-self-hosted-vps","migrate-postgresql-from-rds-cloud-sql-supabase-to-vps","migrar-postgresql-de-rds-cloud-sql-o-supabase-a-un-vps","نقل PostgreSQL من السحابة المُدارة إلى VPS","‫خطة هجرة PostgreSQL خطوة بخطوة من RDS وCloud SQL وSupabase إلى VPS مستضاف ذاتياً: أوامر دقيقة وأفخاخ خاصة بكل مصدر وتحويل بدون توقف.",13,"2026-10-16T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[161],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fpostgresql-migrer-cloud-vers-self-hosted-vps-poster.svg",1792360962677]