كيف يمكنني التأكد من قاعدة بيانات بوستجرس & الإصدار الذي يستخدم SQL ؟

StackOverflow https://stackoverflow.com/questions/101198

  •  01-07-2019
  •  | 
  •  

سؤال

أنا بناء المثبت التطبيق.يحصل المستخدم على تحديد مصدر البيانات لديهم تكوين وتسمية ما نوع قاعدة البيانات هو.أريد أن تأكد من أن نوع قاعدة البيانات هو في الواقع بوستجرس ، إذا كان ذلك ممكنا, ما هو إصدار بوستجرس فهي تعمل عن طريق إرسال SQL إلى مصدر البيانات.

هل كانت مفيدة؟

المحلول

جرب هذا:

mk=# SELECT version();
                                            version                                            
-----------------------------------------------------------------------------------------------
 PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
(1 row)

الأمر يعمل أيضا في الخلية:

mysql> select version();
+--------------------------------+
| version()                      |
+--------------------------------+
| 5.0.32-Debian_7etch1~bpo.1-log | 
+--------------------------------+
1 row in set (0.01 sec)

لا يوجد إصدار الأوامر في sqlite بقدر ما أستطيع أن أرى.

نصائح أخرى

SHOW server_version;

(completeness)

SELECT version();

كيو لديه نسخة() وظيفة يمكنك الاتصال.

SELECT version();

فإنه سيعود شيء من هذا القبيل:

                                            version
-----------------------------------------------------------------------------------------------
PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

هذا هو DB تعتمد ، في حالة هذه الدالة موجودة في آخر dbms هذا يقول كيو في الإخراج

select version()

مثيرة للاهتمام ...إصدار() هو وظيفة!وأتساءل لماذا ؟ الإصدار لن تتغير أو العودة القيم المختلفة تحت مختلف المدخلات/ظرف من الظروف.

غريبة لأنني أتذكر من أيام في Sybase كان عالمي متغير الإصدار يمكن العثور عليها بالقيام "select @@version"

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top