In a 46 gallon tank with good filtration (and weekly water changes) it wouldn't be a problem. Overstocked is a relative term, and depends on the fish you're keeping. Territorial species are more of a problem than schooling fish, though it's fairly common to see folks w/10 gallon tanks and entirely too many fish of any kind in them... Also, you have to consider where the fish spend most of their time (surface, middle, or bottom).
I'd go with 5 petricola's if you want to see them, and provide plenty of cover. Fish feel more secure in tanks with plenty of plants (or rocks/caves for substrate spwaners), and are actually more active and visible (as well as happier) than in a relatively bare tank. Having somewhere to retreat is an instinctive need, particularly in a confined space. In a lake or river they could simply swim away, in an aquarium there's no escape.