본래 백제의 거지산현(居知山縣, 또는 屈知山縣)이었는데, 신라의 영토가 된 뒤 757년(경덕왕 16) 안파현으로 고쳐 압해군(押海郡, 또는 壓海郡: 지금의 신안군 압해면)의 영현(領縣)으로 하였다.
940년(태조 23) 장산현(長山縣, 또는 安陵)으로 고쳤고, 1018년(현종 9) 나주의 속현으로 하였다. 고려 말 왜구의 침입이 있어 장산현의 주민들을 육지로 이주시켜 나주 남쪽 20리 지점에 생활근거지를 마련하였다.
문헌상에는 이곳을 장산폐현(長山廢縣)으로 기록하고 있는데, 현재의 나주시 왕곡면 장산리 일대가 여기에 해당된다. 장산도는 조선시대에 목장과 함께 장산창(長山倉)이 있었다. 신라 때에는 고삼도(古參島)ㆍ신이량도(新伊良島)가 관할하에 있었다.