Just to add on alexc168's comments, if your data directory is already present, there is no need to use the initdb command. The initdb utility is used to initialize your data directory and can be done only once i.e at the beginning of a data directory's lifetime.
For your service to start with non-root user you can follow :
1. Using pg_ctl utility present in bin directory, you can use following command : $PGBIN/pg_ctl -D <path_to_data_directory> start.
2. If you want to use the service file for starting the cluster, then you can do that by changing in the service files. This is something you can check with your system admin.
Also, the data directory should have ownership of the user by which you wishing to start the data directory and the directory permissions should be 0700.
Let us know in case you have any issues.
... View more