You are not logged in.
I've been using Archlinux for about a year now and this is my first post, so forgive me if this is not the right category for this topic.
The latest icu update (68) broke postgresql on my server simply because I naively followed the recommendation I found on the wiki to add postgresql to the ignore list. When postgresql 13 became available, I wasn't ready to update, so I added it to the ignore list, as per the wiki. Soon after came the icu update along with the updates for all the packages that depend on it. Of course, only postgresql 13 was updated, not the version I was still running which required icu 67, so it went kaput. I eventually got out of this mess by biting the bullet and update my databases to postgresql 13.
Lessons learned:
Avoid ignoring packages.
If I must ignore packages, thoroughly check all dependencies before doing an update.
An ignored package is really ignored completely. As in not checking dependencies for installed but ignored package during updates.
The Archlinux wiki is great, but I think the postgresql page should be updated to warn users like myself that ignoring updates is risky.
Being new to Archlinux (but a Linux user since 1994), I'm a bit shy to go and update the wiki myself...
What would an experienced Archlinux user have done to address what I described?
Offline
I naively followed the recommendation I found on the wiki to add postgresql to the ignore list.
That recommendation there links to the relevant section in the Pacman Wiki article, which visibly states that ignoring package updates are risky, so I guess the information is there…
But whoever wrote that section put a verbatim example of how to add packages to the ignore list in pacman.conf (so essentially all the information readers need to get it done, and no reason for them to follow the link), without the warning that should go with it.
[…]I think the postgresql page should be updated to warn users like myself that ignoring updates is risky.
Fully agree.
I would probably also propose another change: Skipping a upgrade is more of an exception than the norm, so baking it into a configuration file only makes it more convenient to break your system. It would be wiser to put a recommendation that merely suggest to explicitly and knowingly run upgrades affecting postgresql with
pacman -Syu --ignore postgresql postgresql-libsOf course there is then the risk of accidentally upgrading postgresql anyway, but that should only happen if the user doesn't read the pacman (or checkupdates) output beforehand—and in that case, the user probably shouldn't be doing non-standard/unsupported things with their package manager anyway.
Offline
I took the recommendation to mean, once you are warned postgresql will not be updated to abort the update and stop performing system updates until you could remove postgresql from the ignore list and update the database.
Offline
I would probably also propose another change: Skipping a upgrade is more of an exception than the norm, so baking it into a configuration file only makes it more convenient to break your system. It would be wiser to put a recommendation that merely suggest to explicitly and knowingly run upgrades affecting postgresql with
pacman -Syu --ignore postgresql postgresql-libs
That makes sense, although using that command would not have prevented the icu update from breaking the ignored postgresql. IMHO, it would be better if pacman was more verbose about updates potentially breaking ignored packages dependencies.
Offline
Any ignored package WILL create problems sooner or later. That is why partial updates are not supported on Arch. Don't complain about pacman not stopping you from shooting yourself in the foot, it just did what you told it to.
Last edited by Scimmia (2021-01-30 20:05:51)
Online
Hmm, loqs' approach/interpretation seems also reasonable (though the wording in the Wiki there just tells readers to skip PgSQL upgrades, so I guess it would need some fix in any case).
But yeah, in case my previous post wasn't clear enough about that: {insert Scimmia's post here}
Pacman doesn't complain there because the "no partial upgrades" thing is specific to Arch Linux, and other distributions using Pacman may have different policies (and/or create packages differently to avoid breaking library dependencies).
Offline
I'm a bit shy to go and update the wiki myself...
Don't be shy! If you're uncertain about how to update something, start by putting a comment on the PostgreSQL Talk Page with the changes you would want to make and someone will speak up if they disagree. And if you don't see anyone object, just go ahead and make the change. Or, just take the plunge and edit the page outright, what's the worst that can happen?
Please first read The 3 Rules for Wiki Editing.
Don't forget: the Arch Wiki is arguably the most extensive Linux documentation available, but it required (shy) people like you to get there.
Offline
I'm not complaining, I'm merely suggesting. Like I said, I'm new to Arch (and to rolling upgrades for that matter). If I decide to stick around, I will need to take this "no partial upgrades" rule very seriously (and not trust any wiki page that seems to suggest otherwise).
I'm also discovering that package updates methodologies seem to be up to individual package managers. For example, postgresql updates versus the recent php 8.0 update... Again, not a complaint, just an observation.
I will take a look at the PostgreSQL Take Page.
Last edited by astdenis (2021-01-30 20:23:59)
Offline