-- 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)
####
perl -MDBI -e'my$dbh=DBI->connect("dbi:Pg:"); print $dbh->{pg_server_version}, "\n"';
80404
####
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)