The physical volumes that pvs displays are those created by the pvcreate command for Logical Volume Manager (LVM). In other words, a physical volume in this context is a hard disk partition that was initialized by pvcreate as an LVM "physical volume", or PV.
A hard disk could have multiple partitions, each of which could be an LVM PV. Any hard disk partitions you have that are not created as LVM physical volumes will not be listed by the pvs command. BTW, try the pvdisplay command for additional information about your PVs.
The df command lists file systems, which do not necessarily correspond to hard disk partitions either.
The -l option on fdisk lists detailed information about the partitions listed in /proc/partitions. This should include all of your physical hard drives and any LVM mapped logical volumes you have defined.