By default on Linux traffic from the system itself to the (public) IP-address of the server will not go to the actual NIC nor out over the wire, when that ip-address is configured on the server itself.
By default Linux uses a single network stack and communication to and from all configured ip-addresses will be in-memory in the Linux kernel's network stack, even when the source and destination ip-addresses are associated with different NIC's.
The network speed when communicating with that IP-address should therefore be the same as the loopback interface and is only limited by how fast the system is, not the wire speed of the network uplink (and will usually exceed the bandwidth of that uplink).
When there is a significant difference in those speeds some notable exceptions to that default behaviour come to mind:
I'm not overly familiar with Postgres but typically you can get the most performance with services that support a unix domain socket in addition to TCP/IP connections by using a socket connection instead of either using the localhost or external IP-address as that takes away the overhead of framing the data in IP packets.
So rather than using the external IP-address or the localhost 127.0.0.1 address, enable and connect to the Postgresql socket.