The problem is that most bookingsystems first look up a train in the Europeanwide timetable database (MERITS) and then look for seats and prices in the reservation system.
The timetable is managed but the railway infrastructure companies. So say a railway books a slot for a train form A to B they usually do that for a whole year, or half a year, and the infrastructure manager uploads that in the timetable system. So the train is now visible.
But when the operator has not yet loaded seat inventory and ticket data in the reservation you do have the symptom of a train being visible but appearing "sold out". That is because the system dates from a time that train travel in Europe was actually quite different, and most systems cannot yet signal the difference between "sold out" and "not open for sale yet". some can, which is why you now get a message "this train will be bookable at dd.mm.yyyy" on DB for example.
But generally you can assume that trains do not sell out months in advance. They even do not sell out days in advance (except for sleepers). They would be useless if they did. Trains are mass transit, used by people going about their daily business. They're a fancier subway, not a ground level airline.
So yes, if you tray to book a train for May in March, and can't, you are just to early.