They say a male suspect is now in custody and children have been moved to safety after the shootings at La Loche Community School and another location.
Prime Minister Justin Trudeau said earlier that five people had been killed, but this was later corrected.
The school shooting was “every parent’s worst nightmare”, Justin Trudeau said.
“The community is reeling.”
Justin Trudeau, who was speaking in Davos, Switzerland, also praised “the first responders who acted quickly and bravely”.
Witnesses at the school described screaming and more than half a dozen shots.
Kevin Janvier, acting mayor of La Loche, said that his 23-year-old daughter Marie, a teacher, was one of the victims at the school.
He also said police had told him that the gunman first shot two of his siblings at home and then made his way to the school.
At a news conference, Maureen Levy, a senior officer at the Royal Canadian Mounted Police (RCMP), said: “There’s no risk to public safety at this time. This is truly a tragedy.”
Maureen Levy provided no further details.
The RCMP said officers were called about “an active shooter” at 13:00 local time and detained the suspect 45 minutes later, Canada’s CBC broadcaster reports.
“Words cannot express my shock and sorrow at the horrific events today in La Loche,” Brad Wall, the premier of Saskatchewan, said in a statement.
“My thoughts and prayers are with all the victims, their families and friends and all the people of the community.”
About 900 students attend La Loche Community School for kindergarten through to grade 12 (the last year of high school).
La Loche is an aboriginal community of about 3,000 people located nearly 550 miles north of the provincial capital, Regina.
Georgia’s outgoing president Salome Zourabichvili refused to step down on December 29, saying she was…
The bald eagle has been officially declared the national bird of the United States, after…
Dozens of passengers have survived a crash involving a plane carrying 69 people in Kazakhstan,…
Millions of Americans are bracing for difficult weather conditions during the Christmas holiday, with storms…
The US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…