본래 백제의 땅이었는데 뒤에 고구려 때정주(貞州)가 되었고, 고려 현종 때개성현의 영현이 되었다. 문종 때개성부에 예속되고 1108년(예종 3)에는 승천부(昇天府)로 고쳐 지부사(知府事)를 두었다. 1310년(충선왕 2)에는 해풍군(海豊郡)으로 강등하여 지군사(知郡事)를 두었다.
1413년(태종 13)에 군(郡)을 폐하고 개성유후사(開城留後司)에 예속시켰다. 5년 뒤 다시 군이 되고, 1442년(세종 24)에는 덕수현(德水縣)과 합쳐 풍덕군으로 하였다. 그 뒤 1650년(효종 1)에 부로 승격하였으나 1823년(순조 23)에 이를 폐하고 개성에 예속시켰다.
1866년(고종 3)에 다시 부로 복구되었으나 1895년에 풍덕군이 되어 개성부 관할에 들어갔다가 다음해경기도에 속하게 되었다. 1914년 행정구역개편 때 개성군에 편입되었고, 1931년개성부가 독립되자 개성군의 나머지 지역과 풍덕군이 합쳐져 개풍군이 되어 대성면이 되었다.
개성 남쪽의 해안지방에 위치하여 고려시대에는 백마산(白馬山)에 성이 있었고 이곳에 궁궐을 짓기도 하였다. 정주나 승천부는 풍덕군의 치소(治所)와는 떨어져 있어 이곳의 치소가 자주 옮겨진 것으로 보인다. 대안(對岸)에 강화도가 있어 개성과 한강을 방위하는 데 큰 몫을 한 곳이다.