천리장성(千里長城)은 고려 덕종 때인 1033년부터 평장사(平章事) 유소(柳韶)가 여진과 거란의 침입을 막기 위하여 쌓은 장성이다. 고려는 개국 초기부터 북평의 거란·여진족의 침입에 대비하여 장성을 쌓으려 하였는데, 이 계획이 실행되기는 1033년(덕종 2)부터였다. 이때 고려가 요나라의 세 차례 침입을 모두 막아낸 뒤 요나라와 화친하게 된다. 고려 조정은 요나라의 재침과 여진족의 침략을 막을 목적으로 축성하게 된다.
천리장성의 규모는 매우 컸던 것으로서 서쪽의 압록강 옆 인주(麟州)[1]로부터 동쪽으로 의주 근처인 위원(威遠)[2]·흥화(興化)[3]·정주(靜州)·영해(寧海)·정융(定戎)을 비롯한 오늘날의 평안남북도인 운주(雲州)[4]·안수(安水)[5]·청색(淸塞)[6]·영원(寧遠)·맹주(孟州)[7]·삭주(朔州) 등 성(城)을 거쳐 영흥 지방인 요덕(耀德)·정변(靜邊)·화주(和州) 성에 이르러 정평 해안인 도련포[8]까지 뻗어, 길이가 천여 리(里), 높이와 폭이 각각 25자(尺)의 석축이었다.
천리장성은 1033년 경 단기간에 이루어진 것은 아니고, 덕종 이전에 대대로 북방에 쌓은 여러 성책을 연결하고 보축(補築)한 것으로, 그 완성 시기는 1044년(정종(靖宗) 10)경의 일이었다. 그렇지만 덕종 때 유소(柳韶)가 축조(築造)의 대부분을 끝마쳐 장성의 윤곽이 형성되었다.
유소는 그 공으로 1034년(덕종 3) 3월에 추충척경공신(推忠拓境功臣)의 호를 받았다. 이 장성의 축조는 거란에게 큰 충격을 주어 항의를 받았으나, 고려에선 이에 적의가 없음을 밝힌 일도 있었다. 이 장성은 그 뒤에도 오랫동안 고려의 북방 방어선으로 이용되었으며, 그 유적은 지금도 신의주시, 피현군 등 여러 곳에서 찾아볼 수 있다.