We are making assumption here that all user's service file has port & username inside them.
What if they are not present?
If I remember correctly those validation were left intentional when we added service field just to make sure that we connect to DB server from pgAdmin4 regardless of those information present in service file.
Attached is the patch to fix the RM #4642 "port should not be mandatory when a service is provided". Cyril Jouve has sent the initial patch, but that only removes the validation on GUI, when we save the server properties without port and username backend throws an error because port and username is NOT NULL columns in the server table in SQLite.
I have removed the NOT NULL constraint from the port and username. The maintenance database is required as our whole connection logic is based on that, so I have added the NOT NULL constraint for that column.