Re: Partial index with regexp not working
От | Richard Huxton |
---|---|
Тема | Re: Partial index with regexp not working |
Дата | |
Msg-id | 46E7DCEF.6080806@archonet.com обсуждение исходный текст |
Ответ на | Re: Partial index with regexp not working ("Phoenix Kiula" <phoenix.kiula@gmail.com>) |
Ответы |
Re: Partial index with regexp not working
|
Список | pgsql-general |
Phoenix Kiula wrote: > > Ok, I've hit a snag about this index. I think it's to do with how my > regex is structured. Basically this column can have either IP > addresses, or alphanumeric user IDs. If it is not an IP address, it is > a registered user ID. What is the best way of ascertaining that a > column value is *not* an IP address? > > I tried this: > > select * from trader where trader_id !~ '[0-9]+\.[0-9]+\.[0-9]+\.'; > > And this works, but I wonder if a partial index on a negative > condition ("!~") will be slower than a positive condition? To be honest, I'd probably just have a separate column "uid_type", set it when creating the user and then just have a partial index WHERE uid_type='IP' -- Richard Huxton Archonet Ltd
В списке pgsql-general по дате отправления: