Consul - K8s microservice not able to connect to Postgresql

Hi,

I have a microservice which needs postgresql for database. When I am trying to connect microservice with postgresql without adding consul annotations connection was successfull. But when I add consul annotations to microservice and postgresql deployment files, connection refused. Can you please help me to solve the issue.

Postgres.yaml

---
apiVersion: v1
kind: Service
metadata:
  name: postgres
  labels:
    app: postgres
spec:
  type: ClusterIP
  ports:
    - port: 5432
      targetPort: 5432
  selector:
    app: postgres
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: postgres
automountServiceAccountToken: true
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres
spec:
  replicas: 1
  selector:
    matchLabels:
      service: postgres
      app: postgres
  template:
    metadata:
      labels:
        service: postgres
        app: postgres
      annotations:
        # prometheus.io/scrape: "true"
        # prometheus.io/port: "9102"
        consul.hashicorp.com/connect-inject: "true"
    spec:
      serviceAccountName: postgres
      containers:
        - name: postgres
          image: hashicorpdemoapp/product-api-db:v0.0.22
          ports:
            - containerPort: 5432
          env:
            - name: POSTGRES_DB
              value: products
            - name: POSTGRES_USER
              value: postgres
            - name: POSTGRES_PASSWORD
              value: password
          # only listen on loopback so only access is via connect proxy
          args: ["-c", "listen_addresses=127.0.0.1"]
          volumeMounts:
            - mountPath: "/var/lib/postgresql/data"
              name: "pgdata"
      volumes:
        - name: pgdata
          emptyDir: {}

Microservice.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: onboarding-service
  labels:
    app: onboarding-service
spec:
  replicas: 1
  selector:
    matchLabels:
      app: onboarding-service
  template:
    metadata:
      annotations:
        consul.hashicorp.com/connect-inject: 'true'
      labels:
        app: onboarding-service
    spec:
      serviceAccountName: onboarding-service
      containers:
      - image: onboarding-service:latest
        name: onboarding-service
        ports:
        - containerPort: 5400
          name: http-port01
        - containerPort: 5450
          name: http-port02
        - containerPort: 5451
          name: http-port03
---
kind: Service
apiVersion: v1
metadata:
  name: onboarding-service
  labels:
    app: onboarding-service
spec:
  selector:
    app: onboarding-service
  type: ClusterIP
  ports:
  - name: port01
    port: 5400
    targetPort: 5400
  - name: port02
    port: 5450
    targetPort: 5450
  - name: port03
    port: 5451
    targetPort: 5451
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: onboarding-service
automountServiceAccountToken: true
---
apiVersion: consul.hashicorp.com/v1alpha1
kind: ServiceIntentions
metadata:
  name: postgres
  namespace: consul
spec:
  destination:
    name: postgres
  sources:
    - name: onboarding-service
      action: allow

Error: ERR app/options/data.go:68 > error in creating postgres connection, error: dial tcp 10.103.109.83:5432: connect: connection refused error=“dial tcp 10.103.109.83:5432: connect: connection refused” app=onboarding_service host=onboarding-service-678cfff8c-lqj8h
Note: I have added postgresql connection in microservice config file.