Right or wrong, I think that a dog at a public event is assumed to be friendly. I suspect that your wee pug is also unbearably cute and that makes him even more likely to attract attention. You do need to be pro-active to stop people from approaching him in a way that makes him uncomfortable, but you can do that both firmly and politely. A blunt NO to a request seems a little rude, adding some sort of explanation, like ‘he’s very shy, please don’t pet him’ softens the no a little. Be prepared to step between them and the dog and block them, or just hold up your hand and repeat, no petting, please. Sure people will look at you like you’re a big meanie-pants, but you need to keep your dog safe.
It doesn’t matter what kind of dog you have, people will want to pet him. I used to work in canine security. Full uniform, large German Shepherd and even after telling them that, yes, he will bite if necessary, they still wanted to pet him. And yes, I got the ‘but dogs love me’ thing too. Not this one. Trust me.