Eu recomendo usar:
PRIMARY KEY (category_id, posts_id)
O
id valor sempre será único - o que não será, é o paring de category_id e posts_id . Mas não percebi que você já tem uma chave única definida no
category_id e posts_id colunas, então sua chave primária pode ser apenas o id . Mas a chave primária significa que será um índice clusterizado - você estará procurando por essas duas colunas mais do que pelo id coluna para que as pesquisas melhorem minuciosamente em um índice não clusterizado nas duas colunas.