A man in a crowd grabbed French President Nicolas Sarkozy by the shoulder and nearly knocked him to the ground before being tackled by security officers.
The incident occurred on Thursday as the president shook hands with a crowd in the town of Brax in south-west France.
The attacker was unarmed, according to the national police service. An official said the 32-year-old Frenchman lives in the Lot-et-Garonne region and works in the theatre business.
The man was detained and questioned in the nearby town of Agen.
French television showed Mr Sarkozy reaching over a metal barricade to greet onlookers when an arm grabs his suit roughly by the shoulder and pulls it toward the crowd.
Mr Sarkozy started to lose his balance and fall, then immediately recoiled and righted himself. Security officers pulled the assailant to the ground.
Mr Sarkozy is an outspoken and divisive figure whose poll ratings have been quite low for months. He is expected to run for re-election next year, and his presidential visits to the French provinces in recent weeks have the air of campaign stops.
He occasionally gets heckled by critics, though only verbally. In one 2008 incident, a man was caught on video telling Mr Sarkozy not to touch him as the president walked through a crowd.
The man accused Mr Sarkozy of "dirtying me," and Mr Sarkozy snapped back with an insult that mildly translated as "get out of here, you total jerk."
Mr Sarkozy's predecessor, Jacques Chirac, was the object of an assassination attempt in 2002, during a military parade for the Bastille Day national holiday. A far right activist, Maxime Brunerie, was convicted of attempted murder after he pulled a rifle from a guitar case and shot at Mr Chirac who was unhurt.