Querying PostgreSQL, timtowtdi:
-- versions 7.4 thru 9: # select substring(version() from E'^PostgreSQL (\\S+)') ; substring ----------- 8.4.4 (1 row) -- versions 7.4 thru 9: # select current_setting('server_version'); current_setting ----------------- 8.4.4 (1 row) -- versions 8.2 thru 9: # select current_setting('server_version_num'); current_setting ----------------- 80404 (1 row)
DBIx-Version looks unmaintained, but maybe it has some useful examples.
(update) There is info in DBD::Pg attributes as well:
perl -MDBI -e'my$dbh=DBI->connect("dbi:Pg:"); print $dbh->{pg_server_v +ersion}, "\n"'; 80404
Then, the 2008 SQL standard prescribes a SQL_IMPLEMENTATION_INFO view which (in postgres) has this information:
select implementation_info_name, character_value from information_schema.sql_implementation_info where implementation_info_name ~ 'DBMS'; implementation_info_name | character_value --------------------------+----------------- DBMS NAME | PostgreSQL DBMS VERSION | 08.04.0004 (2 rows)
I seem to remember that, alas, this latter solution (although standard and therefore in principle the 'best') is not very widely available.
In reply to Re: Finding database version from handle?
by erix
in thread Finding database version from handle?
by cosmicperl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |