Re: [GENERAL] Backward compatibility - Mailing list pgsql-general

From Tom Lane
Subject Re: [GENERAL] Backward compatibility
Date
Msg-id 26391.1500734996@sss.pgh.pa.us
Whole thread Raw
In response to Re: [GENERAL] Backward compatibility  (Igor Korot <ikorot01@gmail.com>)
Responses Re: [GENERAL] Backward compatibility  (rob stone <floriparob@gmail.com>)
Re: [GENERAL] Backward compatibility  (Igor Korot <ikorot01@gmail.com>)
List pgsql-general
Igor Korot <ikorot01@gmail.com> writes:
> But it works incorrectly - it should return:
> 9.5.7 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 6.3.1 20161221
> (Red Hat 6.3.1-1), 64-bit
> i.e. without the word "PosgreSQL", since '\s' should match the (first)
> space in the version().

position() is not a regex operation, it's just a plain substring match.

regression=# SELECT  position( '\s' in version() ) ;
 position
----------
        0
(1 row)

You hardly need any flexibility for this anyway, so I'd just do

regression=# SELECT  position( ' ' in version() ) ;
 position
----------
       11
(1 row)

Although possibly what you really want is split_part().

regression=# select split_part(version(), ' ', 2);
 split_part
------------
 9.5.7
(1 row)

            regards, tom lane


pgsql-general by date:

Previous
From: Igor Korot
Date:
Subject: Re: [GENERAL] Backward compatibility
Next
From: rob stone
Date:
Subject: Re: [GENERAL] Backward compatibility