What roles are needed for the PostgreSQL user for Metricbeat?

I plan to enable MetricBeat's PostgreSQL module in order to monitor my PostgreSQL instances.

In the module's config file, there is the option to include a username+password combination, so that MetricBeat can connect to PostgreSQL and extract the needed statistics from there.

FYI This is for a PRODUCTION environment, so keep that in mind.

I have 2 questions about this:

1). Is this mandatory? Can it work without a specified user?
2). If a user is truly needed (and I'm guessing it's a good idea to use one), then what kind of a user is required for something like this? What roles and/or permissions should it have? Is it best practice to have a dedicated user created specially for this purpose with global-read-permission (or something similar) ?

ELK / Metricbeat version: 6.5.1
PostgreSQL version: 9.5.x