Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
FIXED: Postgresql neuer slot von 15.4 auf 16.1
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Sun Nov 12, 2023 11:25 am    Post subject: FIXED: Postgresql neuer slot von 15.4 auf 16.1 Reply with quote

Ich habe einen neuen Slot der postgresql bekommen:

Code:

dev-db/postgresql
    selected: 15.4
   protected: none
     omitted: 16.1


--depclean möchte selbstverständlich die Version 15.4 löschen. Kann man das einfach so machen? Muss die Datenbank nicht migriert werden oder läuft das vollautomatisch? Ich habe schon nach news items gesucht und nichts gefunden. Wie geht man denn mit dem update um?
_________________
Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W


Last edited by Erdie on Sun Nov 12, 2023 3:12 pm; edited 2 times in total
Back to top
View user's profile Send private message
Mr_Maniac
Guru
Guru


Joined: 10 Jun 2004
Posts: 543

PostPosted: Sun Nov 12, 2023 1:11 pm    Post subject: Reply with quote

Hallo Erdie.

Ja, die DB muss erst migriert werden, also mit depclean lieber warten.

Ich persönlich gehe da so vor:
1. Normales "emerge -uDN @world"
2. U.u.
Code:
/etc/conf.d/postgres-{neue Version}
anpassen, wenn notwendig (falls man z.B. andere Pfade nutzt)
3.
Code:
emerge --config =dev-db/postgresql-16.1
(bzw. was auch immer die neue Version ist)
4. Nun die Config unter
Code:
/etc/postgresql-{neue Version}
anpassen
5. Alte DB mit pg_dumpall sichern
6. Alte DB stoppen, neue Starten
7. Dump in neue DB einspielen (als postgres System-User - z.B. via sudo)
8. Runlevel anpassen (
Code:
rc-update delete postgresql-{alte Version}
und dann
Code:
rc-update add postgresql-{neue Version} default
)
9. Jetzt kann man depclean ausführen und evtl. noch das alte data und config dir löschen

Es gibt keine News-Items für Postgresql Major-Updates, es gibt ja auch nur für die wenigsten anderen Pakete News.
Nach dem Update von Postgres bekommt man von Emerge eine Info mit einem Link zu einem Wiki-Artikel etc.[/code]
_________________
AMD Ryzen 5900X
64 GB DDR4 RAM
GeForce RTX 3080
Gentoo Linux (most recent stable kernel - amd64)
Windows 11 x64
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Sun Nov 12, 2023 1:44 pm    Post subject: Reply with quote

Vielen Dank erstmal!

Meine Postgres läuft nicht als Service, ist also mit rc-config gar nicht konfiguriert. Dass sie installiert ist, liegt mutmaßlich an Arkonadi von KDE. Irgendwie muß dann doch Arkonadi merken, dass es die neue DB Version nutzen soll. Wie mache ich denn das?

PS: KDE ist es wohl doch nicht (ist m. E. mariadb), ich stelle gerade fest, dass die postgres wohl gar nicht läuft, denn
Code:

ps axjf | grep postgres


liefert nichts außer dem grep Befehl zurück. Wozu brauche ich die postgres denn dann?
_________________
Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5192

PostPosted: Sun Nov 12, 2023 2:01 pm    Post subject: Reply with quote

Mr_Maniac wrote:
Hallo Erdie.

Ja, die DB muss erst migriert werden, also mit depclean lieber warten.

Ich persönlich gehe da so vor:
1. Normales "emerge -uDN @world"
2. U.u.
Code:
/etc/conf.d/postgres-{neue Version}
anpassen, wenn notwendig (falls man z.B. andere Pfade nutzt)
3.
Code:
emerge --config =dev-db/postgresql-16.1
(bzw. was auch immer die neue Version ist)
4. Nun die Config unter
Code:
/etc/postgresql-{neue Version}
anpassen
5. Alte DB mit pg_dumpall sichern
6. Alte DB stoppen, neue Starten
7. Dump in neue DB einspielen (als postgres System-User - z.B. via sudo)
8. Runlevel anpassen (
Code:
rc-update delete postgresql-{alte Version}
und dann
Code:
rc-update add postgresql-{neue Version} default
)
9. Jetzt kann man depclean ausführen und evtl. noch das alte data und config dir löschen

Das ganze ist doch komplett kompliziert und nicht für ein livebetrieb geeignet besonders wenn die DB sehr groß ist.
Da kann dann so ein dump + restore mehrere Stunden/Tage dauern und das nur für ein upgrade des DB dienstes?
Ich kenn das jetzt nur direkt von mysql. Dort gab es (bis < mysql-8 ) das tool mysql-upgrade, mit der man die Datenbank Datenstrukturen auf die neue Version aktualisieren kann.
Seit mysql-8 passiert dieses upgrade aber automatisch beim ersten start der neuen Version von mysql.

Ich hab mal kurz gesucht wie das bei postgres ist. Und ja da ist es ursprünglich der weg gewesen dump+restore zu machen.
https://www.postgresql.org/docs/current/upgrading.html
Aber auch dort gibt es mittlerweile ein tool namens pg_upgrade welches das update der Datenstrukturen macht.
Quote:
For major releases of PostgreSQL, the internal data storage format is subject to change, thus complicating upgrades. The traditional method for moving data to a new major version is to dump and restore the database, though this can be slow. A faster method is pg_upgrade. Replication methods are also available, as discussed below. (If you are using a pre-packaged version of PostgreSQL, it may provide scripts to assist with major version upgrades. Consult the package-level documentation for details.)


Und eine suche nach "postgres akonadi upgrade hat folgendes gefunden:
https://userbase.kde.org/Akonadi/Postgres_update

Also ja da muss man von hand ran.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4558
Location: Germany

PostPosted: Sun Nov 12, 2023 2:02 pm    Post subject: Reply with quote

Die eventuell vorhandenen reverse deps kann man sich via
Code:
emerge -av --depclean dev-db/postgresql
ausgeben lassen.

Wenn es um akonadi geht - dann sollte https://userbase.kde.org/Akonadi/Postgres_update weiterhelfen.
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Sun Nov 12, 2023 2:29 pm    Post subject: Reply with quote

Akonadi nutzt bei mir keine Postgres, sondern Mariadb. Und ich kann keinen postgres Prozess auf meinem System finden.

Und es sieht so aus, dass qtsql, welches die postgres als Abhängigkeit fordert, diese wohl gar nicht braucht:

Code:

emerge -pv --depclean dev-qt/qtsql

Calculating dependencies... done!
  dev-qt/qtsql-5.15.11 pulled in by:
    app-emulation/q4wine-1.3.13 requires dev-qt/qtsql:5[sqlite]
    dev-qt/qthelp-5.15.11 requires =dev-qt/qtsql-5.15.11*[sqlite]
    kde-apps/akonadi-23.04.3 requires >=dev-qt/qtsql-5.15.9:5[mysql]
    kde-apps/kio-extras-23.04.3 requires >=dev-qt/qtsql-5.15.9:5
    kde-frameworks/kactivities-5.110.0 requires >=dev-qt/qtsql-5.15.9:5
    kde-frameworks/kactivities-stats-5.110.0 requires >=dev-qt/qtsql-5.15.9:5
    kde-frameworks/kpeople-5.110.0 requires >=dev-qt/qtsql-5.15.9:5
    kde-frameworks/plasma-5.110.0 requires >=dev-qt/qtsql-5.15.9:5
    kde-plasma/kactivitymanagerd-5.27.8 requires >=dev-qt/qtsql-5.15.9:5[sqlite]
    kde-plasma/plasma-desktop-5.27.8 requires >=dev-qt/qtsql-5.15.9:5
    kde-plasma/plasma-workspace-5.27.8-r1 requires >=dev-qt/qtsql-5.15.9:5
    media-gfx/krita-5.1.5 requires >=dev-qt/qtsql-5.15.5:5
    media-gfx/luminance-hdr-2.6.1.1-r1 requires dev-qt/qtsql:5
    net-libs/signond-8.61 requires dev-qt/qtsql:5
    net-voip/mumble-1.4.287-r1 requires dev-qt/qtsql:5[sqlite]
    sci-geosciences/gpxsee-13.4 requires dev-qt/qtsql:5


Evtl könnte es doch reichen, qtsql mit "-postgres" zu installieren und dann sollte die postgres gar nicht mehr notwendig sein.[/quote]
_________________
Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W
Back to top
View user's profile Send private message
Erdie
Advocate
Advocate


Joined: 20 May 2004
Posts: 2576
Location: Heidelberg - Germany

PostPosted: Sun Nov 12, 2023 3:11 pm    Post subject: Reply with quote

Ich denke das hat sich wohl erledigt, denn das Paket qtsql war in miner package.use mit USE= postgresql eingetragen weil das wohl von irgendeinem Paket in der Vergangenheit gefordert wurde. Das habe ich entfernt, postgresql wurde deinstalliert und niemand hat sich über das Fehlen der Postgres beschwert. Folglich wird sie nicht benötigt.

Grüße
Erdie
_________________
Desktop AMD Ryzen 9 5900X 32GB RAM, Asus GF GTX 1060.
Notebook Tuxedo Pulse 15 Gen1 AMD Ryzen 7 4800H mit Radeon Vega 7
Raspberry Pi 1 + 2 + 3B+ + Zero W
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5192

PostPosted: Sun Nov 12, 2023 3:21 pm    Post subject: Reply with quote

Erdie wrote:
Ich denke das hat sich wohl erledigt, denn das Paket qtsql war in miner package.use mit USE= postgresql eingetragen weil das wohl von irgendeinem Paket in der Vergangenheit gefordert wurde. Das habe ich entfernt, postgresql wurde deinstalliert und niemand hat sich über das Fehlen der Postgres beschwert. Folglich wird sie nicht benötigt.

Grüße
Erdie

default ist für akonadi mysql/mariadb, Postgres wird nur genutzt wenn das postgres useflag bei kde-apps/akonadi gesetzt wird
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum