본래 백제의 거지산현(居知山縣, 또는 屈知山縣)이었는데, 신라 경덕왕 때 안파(安波)로 고쳐 압해군(押海郡)의 영현으로 하였다. 940년(태조 23)에 장산(長山, 또는 安陵)으로 고쳤고, 현종 때나주목에 예속시켰으며, 조선시대에도 그대로 따랐다.
그 뒤 1914년무안군이 설치되면서 무안군에 속하였다가 1969년신안군 장산면으로 되었다. 장산현은 나주목 남쪽 20리 지점에도 존속하였다.
이는 고려 말에 왜구의 침입이 있자 섬주민들을 이곳에 옮겨와 살게 하여 장산현이 된 것이다. 뒤에 섬으로 옮겨간 뒤에도 일부 주민이 남아 장산의 지명이 존속하였던 것으로 본다. 장산이나 거지산은 모두 ‘큰 산’ 또는 ‘큰 포구〔大浦〕’를 뜻하는데 이는 멀리서 이 섬을 볼 때 큰 산이 나타나는 데서 유래하였다. 이곳에 고월창(孤月倉)이 있었다.