해구는 한나라에서 기원했고, 송말원초에 개항했다. 해구는 송대에 최초로 출현하여 지금까지 900 여 년의 역사를 가지고 있다.
역사적으로 존산현에 속하며, 명칭은 송대 해구포, 원대 해구항, 해구도, 해구역, 명대 해구역성, 청대 충주구 등으로 진화되었다.
진나라는 남월국으로 기원전 1 165438 (한무제 정원 6 년), 해구는 주야군에 속하며 교주도사 관할에 속한다. 삼국은 광저우 () 에 속하고 서진 () 시에는 교주 () 에 속한다. 수양은 양주에 속한다.
당은 영남로, 후속은 남한, 송은 광남서로 소속되어 있다. 원대는 호광 등지의 성서, 해북해남도의 선위사, 광서 등에 소속되어 있다.
서기 1369 년 (명태조 홍무 2 년) 이후 광동에 속한다.
해구시는 북위19 32'-20 05' 와 동경1010'-1에 위치해 있다 동린 문창시; 남쪽은 문창시, 정안현과 접해 있고, 서쪽은 청마이현과 접해 있다.
해구시 동기대파진 구촌, 서쪽에서 서수진 포남촌, 양끝은 60.6km 떨어져 있다. 남기대파진 오상마을, 북쪽에서 바다까지, 양끝은 62.5 킬로미터 떨어져 있다. 시 전체의 국토면적은 2304.84 제곱 킬로미터이다.