You can group PostgreSQL binaries into your application, but do not incorporate them into the same process. You will need to invoke initdb, pg_ctl, etc. in your application and manage the startup and shutdown of postgres.
It works fine, but it can not be complicated.
Do not use the default port 5432 or send the official postgres installer and run it in silent mode. This confuses users a lot when they wonder where "postgres" came from and they have reported on the mailing lists on our "adware" or "stealth installation" or whatever. Instead, group the .zip binaries, the precompiled install tree, or whatever. And do not run on port 5432.
Remember to include the MSVC runtime for the postgres binaries you are using, if they need a different one for your application.
There are lots of advice on how to do this in more detail.