The answer to this question is very complicated since, technically, River never killed the Doctor. In the episode "The Impossible Astronaut" we see the Doctor invite his friends; River, Amy and Rory, to a lake, as well as two others; Canton Everett Delaware III and the Doctor's younger self. At the river we see River, Amy, Rory and The 'present' Doctor together when an astronaut comes out of the lake, at the end of the scene the astronaut shoots the Doctor, he begins to regenerate and he is shot again, effectively killing him. At this point we don't know that the astronaut is River.
At the end of the season in "The Wedding of River Song" we come back to this scene after we see how the Doctor knew he was going to die, who to invite, where he got the envelopes and even where he got the stetson he was wearing. When we revisit this scene we find out that the astronaut is River, however I'm sure we all managed to work out it was her already, but instead of killing him, this time she drains her power supply and creates an alternate reality where time is halted at 5:02PM on the 22nd of April; the moment River altered time. By the end of this episode we find out that the Doctor wouldn't die as he wasn't the Doctor. The real Doctor was inside a Teselecta that had taken the form of the Doctor himself.
Time is restarted and they are returned to Lake Silencio where the scene from the start of the scene resumes and 'the Doctor' is killed and burned, as he was in the first episode, however this time we know that it's just a Teselecta. The episode ends shortly after River tells Rory and Amy that the Doctor didn't die.
If all of that confused you I suggest you go back and watch all of season 6 again and hopefully it will make more sense.