The values to have a sample postgres can be found in this file. We set the replicas to 1:
global:
  replicaCount: 1
Then comes the postgres image info:
image:
  repository: "postgres"
  tag: "14.7"
  pullPolicy: Always
The tag may be changed if you need another version of postgres.
Postgres is a stateful service. So we want to deploy it using a StatefulSet. Here we do this:
deployment: false 
To expose postgres define Service:
services:
  - name: db
    type: ClusterIP
    annotations: {}
    specs:
    - port: 5432
      targetPort: 5432
      name: db
Postgres image needs some environment variables. So we put this block and define variables in there:
environment:
  POSTGRES_PASSWORD: password
  POSTGRES_USER: postgres
  POSTGRES_DB: postgres
  PGDATA: /var/lib/postgresql/data/pgdata
To persist postgres data create a PVC:
volumes:
  enabled: true
  pvc:
    enabled: true 
    name: postgres
    mountPath: /var/lib/postgresql/data
    size: 2G
    accessModes:
    - ReadWriteOnce
  configMaps: []
All the PVC parameters are set here. You need a default StoragClass for this to work.
And finally the resources:
resources:
  limits:
    cpu: 500m
    memory: 1000Mi
  requests:
    cpu: 500m
    memory: 1000Mi
This is not mandatory but it is a good practice to define resources for Pods.
Now you have the values to deploy postgres. Install it with a command like:
helm install postgres app/app --values ./values.yaml
And have fun!