Philippe Rochat writes:
> I think there is a prob with regexp, which is comparing one less
> character as it should. Below is an example. Result is that last
> character is omitted !
A '*' means "zero or more of the preceeding character". You probably want
a '+'.
>
> Ph.R.
>
> postgres=# select * from pg_database where datname ~ 'ibd01*';
> datname | datdba | encoding | datpath
> ---------+--------+----------+---------
> ibd00_8 | 505 | 0 | ibd00_8
> ibd00_1 | 505 | 0 | ibd00_1
> ibd00_2 | 505 | 0 | ibd00_2
> ibd00_3 | 505 | 0 | ibd00_3
> ibd00_4 | 505 | 0 | ibd00_4
> ibd00_5 | 505 | 0 | ibd00_5
> ibd00_6 | 505 | 0 | ibd00_6
> ibd00_7 | 505 | 0 | ibd00_7
> ibd00_9 | 505 | 0 | ibd00_9
> ibd01_1 | 505 | 0 | ibd01_1
> ibd01_2 | 505 | 0 | ibd01_2
> ibd01_3 | 505 | 0 | ibd01_3
> ibd01_4 | 505 | 0 | ibd01_4
> ibd01_5 | 505 | 0 | ibd01_5
> (14 rows)
>
> postgres=# select * from pg_database where datname ~ 'ibd01_*';
> datname | datdba | encoding | datpath
> ---------+--------+----------+---------
> ibd01_1 | 505 | 0 | ibd01_1
> ibd01_2 | 505 | 0 | ibd01_2
> ibd01_3 | 505 | 0 | ibd01_3
> ibd01_4 | 505 | 0 | ibd01_4
> ibd01_5 | 505 | 0 | ibd01_5
> (5 rows)
>
--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/