I like the three-stanza approach.

Here are a couple of patterns which express "all nodes except the primary":

    # this one seems pretty intuitive
    - hosts: db:!db[0]

    # this one feels kind of icky - open-ended ranges like db[1:] are not supported
    - hosts: db[1-999]