Are you using OpenGL ES, which has
GL_CLAMP_TO_EDGE but lacks
GL_CLAMP_TO_BORDER (and in fact lacks border colours altogether)?
If you are, you’ll have to implement this in the fragment shader: check whether either texture coordinate lies outside the range [0,1] and if so, use a colour read from a uniform variable in place of the value sampled from the texture. If you’re using mipmaps, note that the texture() call needs to be outside of the conditional in order for implicit derivatives (required for mipmap level selection) to be calculated correctly.
If you’re using desktop OpenGL, just use
GL_CLAMP_TO_BORDER instead of
GL_CLAMP, and use
glTexParameter(GL_TEXTURE_BORDER_COLOR) to set the border colour.