Subject: no /repodata/repomd.xml

From: <[email-masked]>
Date: Tue, 4 Jun 2024 22:59:56 +0000

Classification: UNCLASSIFIED
======================================================

Hello,

I've been wrestling with this for days. I believe that I've fixed it. Here's
how. Web searches were virtually zero help. Your "latest" repo rpm url has
no repodata/repomd.xml

Index of /pub/repos/yum/reporpms/EL-9-x86_64/ (postgresql.org)
<https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/> 

The URL pointed at by PostgreSQL: Linux downloads (Red Hat family)
<https://www.postgresql.org/download/linux/redhat/>  does have
repodata/repomd.xml

Index of /pub/repos/yum/common/redhat/rhel-9-x86_64/ (postgresql.org)
<https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-9-x86_64/>

My command and error:

sudo dnf install postgresql-server

-or-

sudo dnf install postgresql16-server

Updating Subscription Management repositories.

postgres repository
146  B/s | 146  B     00:01    

Errors during downloading metadata for repository 'postgres':

  - Status code: 404 for
https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redh
at-repo-latest.noarch.rpm/repodata/repomd.xml (IP: 72.32.157.246)

Error: Failed to download metadata for repo 'postgres': Cannot download
repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

I found this page that talks about RHEL 9 FIPS mode PostgreSQL RPM
repository GPG key update - 3 January 2024 - PostgreSQL YUM Repository
<https://yum.postgresql.org/news/pgdg-rpm-repo-gpg-key-update/> 

But then I remembered that my error was about 404, not GPG.

I tried switching the repository URL in yum.repos.d/postgres.repo to
explicitly point to the rpm in the path that does include
repodata/repomd.xml

baseurl =
https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-9-x86_64/pg
dg-redhat-repo-42.0-43PGDG.noarch.rpm

but I still get the error

  - Status code: 404 for
https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-9-x86_64/pg
dg-redhat-repo-42.0-43PGDG.noarch.rpm/repodata/repomd.xml (IP:
217.196.149.55)

Finally I removed the file part of the URL in postgres.repo

baseurl =
https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-9-x86_64/

installing postgres worked!

I don't know if this is a problem with RHEL 9 or FIPS mode or what, but if
there's anything that you can do I bet the community would greatly
appreciate it.

My dnf/modules.d/postgresql.module looks like this

[postgresql]

name=postgresql

stream=16

profiles=

state=enabled

thanks for reading,

Matt

======================================================
Classification: UNCLASSIFIED

---

From: Devrim Gündüz <[email-masked]>
Date: Wed, 05 Jun 2024 10:22:44 +0100

Hi,

On Tue, 2024-06-04 at 22:59 +0000, [email-masked] wrote:
> I've been wrestling with this for days. I believe that I've fixed it.
> Here's how. Web searches were virtually zero help.

This is not surprising as you created an impossible problem and tried to
find a solution for that. 

> Your "latest" repo rpm url has no repodata/repomd.xml

Yeah, because it is a repo *RPM*.

> <https://www.postgresql.org/download/linux/redhat/>  does have

I believe you messed up everything badly. Both that site and
https://yum.postgresql.org/howto/ has the same instructions:

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf install postgresql16-server

This is all you need to do. What went wrong on your case?

Regards,
-- 
Devrim Gündüz
Open Source Solution Architect, PostgreSQL Major Contributor
Twitter: @DevrimGunduz , @DevrimGunduzTR

---

From: <[email-masked]>
Date: Wed, 5 Jun 2024 16:08:37 +0000

On a Redhat 9 FIPS machine I copy pasted the instructions exactly as they appeared for postgres 16, redhat 9, x86-64

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql16-server

Upon executing the third instruction I got the 404 error.
The only thing that fixed it was removing the file part of the url in /etc/yum.repos.d/postgres.repo

baseurl = https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-9-x86_64/

believe me or not. It doesn't matter to me.
Matt

-----Original Message-----
From: Devrim Gündüz <[email-masked]> 
Sent: Wednesday, June 5, 2024 5:23 AM
To: Smith Matthew S NGA-TEID USA CTR <[email-masked]>; [email-masked]
Subject: [Non-DoD Source] Re: no /repodata/repomd.xml

Hi,

> Here's how. Web searches were virtually zero help.

This is not surprising as you created an impossible problem and tried to find a solution for that. 

> <https://www.postgresql.org/download/linux/redhat/>  does have 

I believe you messed up everything badly. Both that site and https://yum.postgresql.org/howto/ has the same instructions:

Regards,

---

From: Devrim Gündüz <[email-masked]>
Date: Mon, 10 Jun 2024 20:32:55 +0100

Hi,

> /etc/yum.repos.d/postgres.repo

Is this a typo or is the file name really postgres.repo?

Regards,

---

From: <[email-masked]>
Date: Mon, 10 Jun 2024 21:26:00 +0000

Hi,

It's really postgres.repo
It was added with the ansible module yum_repository. I gave it the name "postgres". I was new to ansible and a little confused about that nodule. Now I see an rpm-key module that seems like it would be used when I have a URL to a repo rpm. I haven't tried it yet. 

Matt

-----Original Message-----
From: Devrim Gündüz <[email-masked]> 
Sent: Monday, June 10, 2024 3:33 PM
To: Smith Matthew S NGA-TEID USA CTR <[email-masked]>; [email-masked]
Subject: Re: [Non-DoD Source] Re: no /repodata/repomd.xml

Hi,

Regards,