You are not logged in.
I am running postgres 14. When I upgrade with pacman -Syu I get the message :
warning: postgresql: ignoring package upgrade (14.6-1 => 15.3-2)After the last upgrade, postgres failed to start :
# systemctl status postgresql.service
Jul 07 09:43:14 archbtw postgres[2373]: /usr/bin/postgres: error while loading shared libraries: libicui18n.so.72: cannot open shared object file: No such file or directoryIt looks like libicu was recently upgraded to version 73.
# ls -l /usr/lib/libicui18n.so.73
lrwxrwxrwx 1 root root 18 Jun 17 02:45 /usr/lib/libicui18n.so.73 -> libicui18n.so.73.2
# pacman -Qs icu
local/harfbuzz-icu 7.3.0-2
OpenType text shaping engine - ICU integration
local/icu 73.2-1
International Components for Unicode library
local/lib32-icu 73.2-1
International Components for Unicode library (32 bit)Postgres 14 seems like it's looking for the 72 version of libicu. It seems like I lost that dependency? Ultimately I should switch to Postgres 15 but I did not do that prior to this happening. As it stands I'd like to get the database up and running again so that I can dump the data out of it and update to postgres 15. I've tried to find the 72 version of libicu in the AUR, but I only see the 73 version.
The larger question I have, though, is how I should deal with packages like this. Both Postgres and libicu seem like they stamp the Arch package with their major version number. For instance postgres 14 is a different package in Arch than postgres 15, correct? That seems like it's the case for libicu, too, as it's version recently jumped from 72 to 73. Does that mean that the usual "rolling release" in which I upgrade about once a week has the potential to cause these breakages? Or am I misunderstanding how I'm supposed to manage these?
Last edited by nilesOien (2023-07-10 18:16:32)
-- "Make it as simple as possible, but no simpler" - Albert Einstein
Offline
Partial upgrades are unsupported — this is why. It is not ICU that breaks anything, it is a partial upgrade that broke it. Also symlinking files is not solving the problem, but merely hiding it from your eyes. The versions usually remain incompatible.
If you need PostgreSQL version 14.x, you may build it yourself from sources. User mrechte shared their postgresql14 PKGBUILD in AUR, if you need a template.
Paperclips in avatars? | Sometimes I seem a bit harsh — don’t get offended too easily!
Offline
Thanks, that page is useful, as is the build template. That said, I'm a bit puzzled, because all I ever do is a full upgrade, "pacman -Syu", and I never saw an error that would have resulted in a partial upgrade (which seems like a bad idea). In fact I've never seen any errors at all, "pacman -Syu" has always worked really well. Also I never made any symlinks?
So I'm still puzzled as to how I got into this situation.
-- "Make it as simple as possible, but no simpler" - Albert Einstein
Offline
Similar cause as https://bbs.archlinux.org/viewtopic.php?id=286820 except your system synced against a mirror with an updated extra but an old core.
Offline
You're ignoring the postgres package, that's the definition of a partial update.
As for updating to version 15, see https://wiki.archlinux.org/title/Postgr … PostgreSQL There's already a package in the repos specifically for it.
Last edited by Scimmia (2023-07-07 18:58:26)
Offline
Marking as "solved". Scimmia is correct, I had a partial update for the reasons Scimmia gave. My mistake was assuming that postgres 14 would be a separate package to postgres 15. I should have realized that that isn't the Arch rolling release way. As a result that pacman warning message was much more significant than I realized. It also seems, reading the links, like there are better ways to manage my mirrorlist than what I've been doing.
-- "Make it as simple as possible, but no simpler" - Albert Einstein
Offline