You really, really don't want to do this. Postgres is not an operating system, it's a database server. Even if the database supports running scheduled tasks, it's not really a good idea to abuse the database like that.
If your concern is you don't want to setup password and stuffs, that's easy to resolve. Set up a local Unix socket connection using trust or ident authentication instead, run your cronjob as that user.
In its out of the box configuration, usually postgres sets up the system user postgres
to run the db server, and this system user is usually already preconfigured so it can connect to the local server using trust authentication when connecting via local unix socket. You can run your cronjob as postgres system user, connect to the local socket, and then switch role if you don't want your stored procedure to run with superuser privilege.
In default setup, you can just do this:
$ sudo -u postgres crontab -e
In the editor, add to the crontab entry like so:
0 0 * * * bash /path/to/run_stored_procedure.sh
and in your /path/to/run_stored_procedure.sh file you simply just use psql to call your stores procedure
#!/usr/bin/env bash
psql my_db_name <<END
SET ROLE limited_user;
SELECT my_stored_proc();
SELECT 1 FROM my_stored_proc();
END