I have a varchar ID field which captures a user account. If there is no user id, then we just store the IP address of the user. Realizing that we would like to index only those tuples where the user ID is not an IP, I am trying to create a partial index as follows: CREATE INDEX idx_trades_tid_partial ON trades (trader_id) WHERE trader_id ~ '[a-z]' ; Any "trader_id" that contains an alphabet letter will be registered user, as IPs only have numbers and dots. But when I do an EXPLAIN ANALYZE on a query which has a where condition as follows: WHERE trader_id = 'johndoe' It is not using this index at all! It is using no index in fact, it's trying to do a sequential scan. Any ideas why this partial index is not working?? TIA ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly