"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > نصائح لتصدير نتائج استعلام PL/PGSQL بكفاءة إلى ملفات CSV في postgresql

نصائح لتصدير نتائج استعلام PL/PGSQL بكفاءة إلى ملفات CSV في postgresql

نشر في 2025-04-12
تصفح:564

How to Efficiently Export PL/pgSQL Query Results to a CSV File in PostgreSQL?

تصدير PL/PGSQL إلى ملف CSV في postgresql

مقدمة

تصدير البيانات من postgreSQL إلى ملف CSV هو مهمة مشتركة في تحليل البيانات ومزيد من المعالجة. تناقش هذه المقالة طريقتين لتحقيق هذا الهدف باستخدام عملية PL/PGSQL:

طريقة جانب الخادم

تستخدم هذه الطريقة الأمر النسخ المدمج في postgresql. يتيح لك كتابة نتائج SQL مباشرة على الملفات على الخادم. مثال:

COPY (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER;

ميزة:

  • كفاءة عالية لتصدير البيانات الكبيرة
  • تشغيل بالكامل على الخادم ، مما يقلل من النفقات العامة لخادم العميل

عيب:

  • يتطلب أذونات المستخدم الفائقة
  • يمكن فقط كتابة الملفات على الخادم

طريقة العميل

يمكنك استخدام النسخ إلى stdout لاسترداد البيانات ومعالجة ملفات ملفات في تطبيق العميل بدلاً من استخدام النسخ على الخادم. مثال في PSQL:

\copy (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV DELIMITER ',' HEADER

ميزة:

  • لا مطلوب أذونات مستخدم فائقة
  • السماح بالوصول إلى الملفات على العميل

عيب:

  • ربما أبطأ من طريقة جانب الخادم
  • يتطلب معالجة إضافية في تطبيق العميل

احتياطات السلامة

إذا اخترت طريقة من جانب الخادم ، فتأكد من تنفيذ تدابير الأمان المناسبة ، مثل:

  • قم بإنشاء وظائف باستخدام خيار Security Defere لإنفاذ حقوق الوصول إلى الملف والجدول للمستخدم.
  • تحقق ببهجة أذونات الملف وتأكد من أن الخادم لا يمكنه الوصول إلى البيانات الحساسة.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3