install postgresql-12 in CentOS-8 got No match for argument: postgresql12

Alternative and more comfortable solution: add module_hotfixes=true to the pgdg repo definitions or disable the AppStream modules You will probably never want to use if You use pgdg build (dnf -y module disable postgresql).
This is needed, from what I understand, because of the new modules system introduced with EL8.
The pgdg packages are filtered by default if dnf detects that they provides things that are also in modules but are not packaged as appropriate modules themselves.

I don't know how to define modules in yum repos but if pgdg would do so it would probably be possible without that or even better be able to handle them as modules like the other AppStream modules (at least similar as afaik the module versions are not made for parallel installation but only for choice if major version). Or if they would change their package signatures (I think it is related to the provide postgresql) the filter would not filter them by default.