While I agree it would make sense to have port just after host in the argument list, it will break backwards compatibility if anybody uses PostgresTarget with positional arguments. The PostgresTarget is probably mostly used through CopyToTable, but since it hasn't been declared explicity as an internal structure I don't think we should break the compatibility. Better to add it as the last argument with a default value of the default postgres port (5432)