Bir uygulama için bir yükleyici yapıyorum. Kullanıcı yapılandırdığı veri kaynağını seçer ve ne tür bir veritabanı olduğunu belirler. Veritabanının gerçekten Postgres olduğunu doğrulamak istiyorum ve mümkünse, PostScript'in hangi versiyonunu veri kaynağına bir SQL ifadesi göndererek çalıştırıyorlar.Bir veritabanının Postgres olduğunu ve SQL'in hangi sürümünü kullandığını nasıl doğrulayabilirim?
cevap
bu deneyin:
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)
komut MySQL çok çalışır:
mysql> select version();
+--------------------------------+
| version() |
+--------------------------------+
| 5.0.32-Debian_7etch1~bpo.1-log |
+--------------------------------+
1 row in set (0.01 sec)
bildiğim kadarıyla gördüğünüz gibi sqlite hiçbir versiyon komutu yoktur.
SELECT version();
PostgreSQL, arayabileceğiniz bir version() işlevine sahiptir.
SELECT version();
Böyle bir şey döndürür:
version
-----------------------------------------------------------------------------------------------
PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Bu DB bağlıdır ve durumda bu fonksiyon başka dbms var, bu çıkış
select version()
SHOW server_version;
PostgreSQL'i diyor
(tamlık)
Teşekkürler, yeni bir şey öğrendim! :) –
İlginç ... version() bir işlevdir! Nedenini merak ediyorum? Sürüm, farklı girişler/koşullar altında farklı değerler değiştirmeyecek veya geri dönmeyecektir.
ben Sybase içinde küresel bir değişken ve sürümü eskiden olduğu eski günlerden hatırlıyorum çünkü Meraklı
- 1. FireFox'un Flash Player'ın hata ayıklama sürümünü kullandığını nasıl doğrulayabilirim?
- 2. SQL Server Profiler - Hangi veritabanının bağlı olduğunu nasıl bulabilirim?
- 3. Java Maven'in hangi sürümünü kullanmak için kullandığını nasıl anlarım ve nasıl değiştiririm?
- 4. Bir sitenin hangi çatıyı kullandığını nasıl anlıyorsunuz?
- 5. Hangi Visual Studio Çözümlerinin hangi Projeleri kullandığını nasıl haritalandırabilirim?
- 6. R yüklememin hangi matris kitaplıklarını kullandığını nasıl belirleyebilirim?
- 7. Hangi Ruby sürümünü gerçekten çalıştırıyorum?
- 8. Moq Korumalı Metodu nasıl doğrulayabilirim/doğrulayabilirim?
- 9. Hangi sunucu uygulamasını ve JSP sürümünü kullanıyorum?
- 10. Hangi XPATH ve XSLT sürümünü kullanıyorum ..?
- 11. Titanyum hangi JavaScript sürümünü kullanır?
- 12. iOS Aygıtı ve Sürümünü Monotouch'ta nasıl edinebilirim?
- 13. Firebase, değiştirdiğiniz veritabanının size ait olduğunu nasıl biliyor?
- 14. Hangi CKAN sürümünü kullandığımı nasıl bulabilirim?
- 15. NuGet'ten hangi Ninject sürümünü yüklemeliyim?
- 16. DirectX'in hangi sürümünün yüklü olduğunu kontrol edin
- 17. Hangi platform sürümünün gerekli olduğunu nasıl belirlerim?
- 18. Hangi .emacs dosyasının yüklü olduğunu nasıl bulabilirim?
- 19. Hangi MVC sürümünün yüklü olduğunu nasıl görebilirim?
- 20. wxPython: Hangi widget'ın odağı olduğunu nasıl anlarım?
- 21. Datagrip ile tüm veritabanının komut dosyası şeması
- 22. PostgreSQL veritabanının yapısını nasıl keşfederim?
- 23. Bir kısıtlamanın hangi tabloya ait olduğunu bulmak
- 24. Bu ADFS belirtecini nasıl doğrulayabilirim?
- 25. Bir XHTML belgesindeki CSS'deki ampersanları nasıl kullanabilir ve hala doğrulayabilirim?
- 26. Bir Windows Hizmetinin çalışıp çalışmadığını nasıl doğrulayabilirim?
- 27. Postgres. Bir veritabanını ve kullanıcıyı nasıl oluşturabilirim?
- 28. Bir USB aygıtının hangi bağlantı noktasına takılı olduğunu nasıl anlarım?
- 29. Bir veritabanının tüm tetikleyicilerini sqlite'de nasıl listeleyebilirim?
- 30. Python'un yeni sürümüyim, Python'un hangi sürümünü kullanmalıyım?
Dur çoğaltarak soruları "@@ sürümü seçin" yaparak dışarı bulunamadı! –
gizmo
Yinelenen sorular değiller. Bugüne kadar yaptığım araştırmam, bu probleme oldukça farklı yaklaşımlar gerektiğini gösteriyor. – modius