= ARTYKUŁ W TRAKCIE TWORZENIA = = Aktualizacja bazy danych PostgreSQL do wersji 12 lub nowszej = == 1. Hasła scram-sha-256 lub md5 == Od wersji 12 PostgreSQL domyślnie ustawia wartość dla haseł: {{{ password_encryption = scram-sha-256 }}} Po ustawieniu haseł w PostgreSQL wygląda to następująco: {{{ usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | passwd | valuntil | useconfig ------------+----------+-------------+----------+---------+--------------+---------------------------------------------------------------------------------------------------------------------------------------+----------+----------- http | 16385 | f | f | f | f | SCRAM-SHA-256$4096:D1NPKy+ZDiGGF1/E8q5M/g==$kD4aorMJUp046mghWNnZ89TWalFfacTkzGEfBvg98Ps=:27uyFL+eLw0b3SQIMGyxVuwd+SC1/Tgh9ABb9MTLWoE= | | edokumenty | 16384 | f | f | f | f | SCRAM-SHA-256$4096:9Q2v9SU06DQ2bHV/tCu1XA==$GqcL8rcrZN8LLoOByOZarhkxYiIqrsSidC+WPuVAuds=:xpWGbHlcVfkWXLLA6cMGUz8BVGcLj8+KQNLHXJJ0JcM= | | postgres | 10 | t | t | t | t | SCRAM-SHA-256$4096:2gkT6rlhnnvIWi9K5L403Q==$J3bmONbpjLLpsKpIaJG2TnGZzjwRjiRnu2q66PLZy88=:QfVmPeEodOMpxDJz1n6pFB47lWS967v00YoQQaJYqE0= | | }}} Jeśli wykonujemy pg_upgradecluster z wersji gdzie domyślnie korzystaliśmy szyfrowania md5. Do nowego PostgreSQL zostanie przeniesione to samo ustawienia. Dlatego jeśli chcemy przejść na scram-sha-256 należy zmienić ustawienie w PostgreSQL {{{ vim /etc/postgresql/12/main/postgresql.conf password_encryption = scram-sha-256 :wq }}} A następnie restart usługi postgreSQL Po zalogowaniu os psql wykonać polecenie {{{ SELECT rolname, rolpassword ~ '^SCRAM-SHA-256\$' AS has_upgraded FROM pg_authid WHERE rolcanlogin; }}} Jeśli zwróci nam FALSE, konieczne będzie zmiana hasła np: {{{ ALTER user postgres with encrypted password 'hasło'; }}} Zmiana konfiguracji pg_hba.conf {{{ vim /etc/postgresql/13/main/pg_hba.conf }}} {{{ # "local" is for Unix domain socket connections only local edokumenty edokumenty scram-sha-256 local edokumenty http scram-sha-256 }}} == 2. Konfiguracja pgbouncer == Zmiana konfiguracji w przypadku skorzystania z szyfrowania scram-sha-256 została opisana [http://support.edokumenty.eu/trac/wiki/AdminGuide/pgbouncer tym artykule.] == 3. Usunięcie OIDs przed odtworzeniem bazy == Podczas odtwarzania starej bazy czyli na przykład gdy mamy od czasu systemu od wersji 4.10 możemy napotkać problem z OIDs, co podczas odtwarzania bazy lub wykonania pg_upgradecluster otrzymamy komunikat: Podczas odtawrznia bazy restore {{{ ERROR: tables declared WITH OIDS are not supported }}} Podczas pg_upgradecluster {{{ pg_dump: warning: WITH OIDS is not supported anymore (table ""documents_2_2020"") pg_dump: warning: WITH OIDS is not supported anymore (table ""log"") pg_dump: warning: WITH OIDS is not supported anymore (table ""ws_incoming_messages"") pg_dump: warning: WITH OIDS is not supported anymore (table ""ws_box_incoming_messages"") pg_dump: warning: WITH OIDS is not supported anymore (table ""ws_box_incoming_messages_2_2020"")[[Image()]] }}} przed aktualizacja należy usunąć OIDy z bazy. Ten problem rozwiązuje aktualizacja do wersji 6.64.4, którą możemy wykonać na PostgreSQL w wersji 10 lub 11. Po wykonaniu patcha 6.0/041 OIDs zostaną usunięte z bazy. Następnie będziemy mogli przejść do aktualizacji PostgreSQL 12 lub nowszej. == 4. Wyłączenie JUST-IN-TIME == Po aktualizacji do PostgreSQL 12/13 należy wyłączyć jit, która domyślnie jest włączona. Z naszych testów wynika, że aplikacja Ready_™ działa szybciej z wyłączonym jit. {{{ jit = off # allow JIT compilation }}}