Tôi đang xây dựng trình cài đặt cho một ứng dụng. Người dùng sẽ chọn một nguồn dữ liệu mà họ đã cấu hình và chỉ định loại cơ sở dữ liệu nào. Tôi muốn xác nhận rằng kiểu cơ sở dữ liệu thực sự là Postgres, và nếu có thể, phiên bản Postgres nào họ đang chạy bằng cách gửi một câu lệnh SQL tới nguồn dữ liệu.Làm cách nào để xác nhận cơ sở dữ liệu là Postgres và phiên bản nào đang sử dụng SQL?
Trả lời
Hãy thử điều này:
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)
Lệnh làm việc quá trong MySQL:
mysql> select version();
+--------------------------------+
| version() |
+--------------------------------+
| 5.0.32-Debian_7etch1~bpo.1-log |
+--------------------------------+
1 row in set (0.01 sec)
Không có lệnh phiên bản trong sqlite như xa như tôi có thể nhìn thấy.
SELECT version();
PostgreSQL có một hàm version() mà bạn có thể gọi.
SELECT version();
Nó sẽ trở lại một cái gì đó như thế này:
version
-----------------------------------------------------------------------------------------------
PostgreSQL 8.3.3 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Đây là DB phụ thuộc, và trong trường hợp chức năng này tồn tại trong DBMS khác, điều này nói PostgreSQL trong đầu ra
select version()
SHOW server_version;
(để hoàn thành)
Cảm ơn, tôi đã học được điều gì đó mới mẻ! :) –
Thú vị ... phiên bản() là một chức năng! Tôi tự hỏi tại sao? Phiên bản sẽ không thay đổi hoặc trả lại các giá trị khác nhau theo các yếu tố đầu vào/hoàn cảnh khác nhau.
Tò mò vì tôi nhớ từ những ngày cũ mà Sybase đã từng là biến toàn cục và có thể tìm thấy phiên bản bằng cách thực hiện "select @@ version"
- 1. Làm cách nào để xác nhận cơ sở dữ liệu là Oracle và phiên bản nào đang sử dụng SQL?
- 2. Làm thế nào để xác định cơ sở dữ liệu nào đang được sử dụng trên SQL Server 2000
- 3. Không thể khôi phục Cơ sở dữ liệu, Cơ sở dữ liệu đang được sử dụng theo phiên
- 4. Làm thế nào để kiểm soát phiên bản cơ sở dữ liệu SQL Server?
- 5. Làm thế nào để sử dụng enum trong cơ sở dữ liệu Postgres trong Rails 3?
- 6. Làm thế nào để bạn truy cập thông tin lỗi cơ sở dữ liệu khi sử dụng Rails và Postgres
- 7. Phiên cơ sở dữ liệu là gì?
- 8. Làm cách nào để di chuyển Sơ đồ cơ sở dữ liệu SQL Server sang cơ sở dữ liệu khác?
- 9. Làm cách nào để xóa khỏi cơ sở dữ liệu?
- 10. SQL Server: Làm thế nào để biết cơ sở dữ liệu là một cơ sở dữ liệu hệ thống?
- 11. Làm thế nào để bạn kiểm tra phiên bản SQL Server nào cho cơ sở dữ liệu bằng TSQL?
- 12. Cách: phiên bản cơ sở dữ liệu với maven2?
- 13. Làm cách nào để sử dụng cơ sở dữ liệu để quản lý semaphore?
- 14. Làm thế nào để làm trống một cơ sở dữ liệu SQL?
- 15. Làm thế nào để lưu tệp hình ảnh trên cơ sở dữ liệu Postgres?
- 16. Làm cách nào để xóa cơ sở dữ liệu MySQL?
- 17. Làm cách nào để thay đổi chủ sở hữu của cơ sở dữ liệu SQL Server?
- 18. Cách xóa cơ sở dữ liệu postgres khỏi heroku
- 19. Nhận cơ sở dữ liệu SQL Server Cross Phụ thuộc
- 20. Làm cách nào để quản lý diễn biến cơ sở dữ liệu khi tôi đang sử dụng JPA?
- 21. Cách tìm phiên bản tệp cơ sở dữ liệu SQLITE
- 22. Làm thế nào để xóa tất cả các cơ sở dữ liệu trên Postgres?
- 23. Làm thế nào để xác định cơ sở dữ liệu người dùng đang sử dụng trong CLI hive?
- 24. Làm thế nào để ngắt kết nối khỏi cơ sở dữ liệu và quay trở lại cơ sở dữ liệu mặc định trong PostgreSQL?
- 25. Làm cách nào để sử dụng Rails/Devise mà không có cơ sở dữ liệu?
- 26. Làm cách nào để chèn bản ghi từ cơ sở dữ liệu mongo này vào cơ sở dữ liệu khác?
- 27. Điều gì xác định phiên bản và kích thước cơ sở dữ liệu SQL Azure với mã EF đầu tiên?
- 28. Node.js + postgres quản lý cơ sở dữ liệu giao dịch
- 29. Làm cách nào để thiết kế cơ sở dữ liệu với Lịch sử sửa đổi?
- 30. Làm thế nào để tạo dự án cơ sở dữ liệu từ cơ sở dữ liệu SQL Server hiện tại?
Dừng câu hỏi trùng lặp! –
gizmo
Chúng không phải là câu hỏi trùng lặp. Nghiên cứu của tôi cho đến nay cho thấy bạn cần phương pháp tiếp cận khá khác nhau cho vấn đề này. – modius