수주(水州) 안산현(安山縣: 지금의 경기도 안산) 출신. 성종 때 견관승(甄官丞), 목종 때 어주사(御廚使)를 거쳐 현종 초에 공주절도사(公州節度使)가 되었다. 1011년(현종 2)에 왕이 거란의 침입으로 남행(南幸)하자 극진히 영접했다.
왕이 나주까지 피란갔다가 다시 공주에 돌아오자 장녀로 하여금 어의(御衣)를 지어 바치게 하여 왕비가 되니 바로 원성왕후(元成王后)이다. 뒤에 다시 두 딸을 왕비로 바치니 원혜왕후(元惠王后)와 원평왕후(元平王后)이다. 그해 형부시랑으로 거란왕의 생일을 축하하기 위해 거란에 갔다가 돌아오는 길에 내원성(來遠城)에서 거란의 사주를 받은 여진인에게 붙잡혔다가 수개월 만에 풀려났다.
1015년에 지중추사(知中樞事), 이듬해 호부상서가 되었다가 뒤이어 중추사상호군(中樞使上護軍)에 제수되었다. 죽은 뒤 국구(國舅)로서 추충수절창국공신 개부의동삼사 수사공 상주국 안산군개국후(推忠守節昌國功臣開府儀同三司守司空上柱國安山郡開國侯)에 추증되었다.