🔴 Relacyjna Baza danych PostgreSQL

No to jest ok. W takim razie wywal, albo popraw ten sensor i sprawdź.

Dzięki @SebiCo - wygląda na to, że wszystko działa (:drooling_face: przez lewe ramię).
Zmieniłem sensor na ten pod ais:dom z db ha i nawet ladnie pokazał się w integracjach:

Miałem identyczną sytuację:

  • bazę danych PostgreSQL postawioną na DEV3 przed aktualizacją
  • przejście zgodnie z instrukcją na binarki Termux
  • błąd uruchomienia bazy
    psql: error: connection to server on socket "/data/data/com.termux/files/usr/tmp/.s.PGSQL.5432" failed: FATAL: role "u0_a57" does not exist

Powtórzenie wszystkich komenda z instrukcji (na początku wątku) powyżej nie przynosi rezultatu.
Baza znajduje się na dysku i nie chce jej instalować, nie można również się zalogować po wcześniejszym login/hasło.

Jedynym sposobem jaki u mnie zaczął działać to było:

  • usuniecie wszystkiego z lokalizacji: /data/data/com.termux/files/usr/tmp/
    Bez tytułu

  • usuniecie całego katalogu: /data/data/com.termux/files/usr/var/lib/postgresql
    Bez tytułu2

Po tym mogłem wykonać wszystkie polecenia od nowa:

~ $ apt install postgresql
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
postgresql is already the newest version (14.2-4).
0 upgraded, 0 newly installed, 0 to remove and 23 not upgraded.

~ $ pip install psycopg2
Requirement already satisfied: psycopg2 in /data/data/com.termux/files/usr/lib/python3.10/site-packages (2.9.3)

~ $ mkdir -p $PREFIX/var/lib/postgresql

~  $ initdb $PREFIX/var/lib/postgresql
The files belonging to this database system will be owned by user "u0_a48".
This user must also own the server process.
The database cluster will be initialized with locale "C.UTF-8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /data/data/com.termux/files/usr/var/lib/postgresql ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... sysv
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Europe/Amsterdam
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
initdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
pg_ctl -D /data/data/com.termux/files/usr/var/lib/postgresql -l logfile start

#sprawdzam zawartość katalogu postgresql 
.../lib/postgresql $ dir
PG_VERSION  global        pg_dynshmem  pg_ident.conf  pg_multixact  pg_replslot  pg_snapshots  pg_stat_tmp  pg_tblspc    pg_wal   postgresql.auto.conf
base        pg_commit_ts  pg_hba.conf  pg_logical     pg_notify     pg_serial    pg_stat       pg_subtrans  pg_twophase  pg_xact  postgresql.conf

.../lib/postgresql $ pg_ctl -D $PREFIX/var/lib/postgresql start
waiting for server to start....2022-09-06 20:47:23.063 CEST [27120] LOG:  starting PostgreSQL 14.2 on arm-unknown-linux-androideabi, compiled by Android (7714059, based on r416183c1) clang version 12.0.8 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee), 32-bit
2022-09-06 20:47:23.065 CEST [27120] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2022-09-06 20:47:23.071 CEST [27120] LOG:  listening on Unix socket "/data/data/com.termux/files/usr/tmp/.s.PGSQL.5432"
2022-09-06 20:47:23.084 CEST [27125] LOG:  database system was shut down at 2022-09-06 20:46:15 CEST
2022-09-06 20:47:23.099 CEST [27120] LOG:  database system is ready to accept connections
 done
server started

#sprawdzam zawartość katalogu postgresql 
.../lib/postgresql $ dir
PG_VERSION  pg_commit_ts  pg_ident.conf  pg_notify    pg_snapshots  pg_subtrans  pg_wal                postgresql.conf
base        pg_dynshmem   pg_logical     pg_replslot  pg_stat       pg_tblspc    pg_xact               postmaster.opts
global      pg_hba.conf   pg_multixact   pg_serial    pg_stat_tmp   pg_twophase  postgresql.auto.conf  postmaster.pid
.../lib/postgresql $ 

i dalej zgodnie z instrukcją...

Może komuś się przyda.

6 polubień

Czy ktoś spotkał się z tym błedem ?

$ initdb $PREFIX/var/lib/postgresql

CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/bin/postgres": library "libicui18n.so.72" not found
no data was returned by command ""/data/data/com.termux/files/usr/bin/postgres" -V"
initdb: error: program "postgres" is needed by initdb but was not found in the same directory as "/data/data/com.termux/files/usr/bin/initdb"

Forumowicze czy wytlumaczy mi ktos dlaczego moja baza danych PostgreSQL caly czas puchnie ? Recorder mam ustawiony na 14 dni a baza zbiera dane dalej i gdy przekracza wielkośc 4gb to zaczyna mi zjadać swap

Zrobilem na próbę również wpis w configuration.yaml
recorder:
purge_keep_days: 14
ale sytuacja ta sama.
Jedyna metoda na czyszczenie która jest skuteczna to czyszczenie z poziomu konsoli

TRUNCATE TABLE events, states;

Ale wtedy tracę wszystkie dane i musze wykonać twardy reset tzn, odłaczyć bramę z prądu i wszystko wraca do ładu.

1 polubienie

u mnie próba uruchomienia na nowej bramce dev3 termux kończy się niepowodzeniem

~ $ apt install postgresql
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libandroid-execinfo libuuid
The following NEW packages will be installed:
  libandroid-execinfo
The following packages will be upgraded:
  libuuid postgresql
2 upgraded, 1 newly installed, 0 to remove and 108 not upgraded.
Need to get 0 B/5454 kB of archives.
After this operation, 279 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package libandroid-execinfo.
(Reading database ... 29324 files and directories currently installed.)
Preparing to unpack .../libandroid-execinfo_0.1-1_arm.deb ...
Unpacking libandroid-execinfo (0.1-1) ...
Preparing to unpack .../libuuid_2.38.1-1_arm.deb ...
Unpacking libuuid (2.38.1-1) over (1.0.3-5) ...
Preparing to unpack .../postgresql_15.1-1_arm.deb ...
Unpacking postgresql (15.1-1) over (14.2-4) ...
Setting up libuuid (2.38.1-1) ...
Setting up libandroid-execinfo (0.1-1) ...
Setting up postgresql (15.1-1) ...
~ $ pip install psycopg2
Requirement already satisfied: psycopg2 in /data/data/com.termux/files/usr/lib/python3.10/site-packages (2.9.3)
~ $ mkdir -p $PREFIX/var/lib/postgresql
~ $ initdb $PREFIX/var/lib/postgresql
CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/bin/postgres": library "libicui18n.so.72" not found
no data was returned by command ""/data/data/com.termux/files/usr/bin/postgres" -V"
initdb: error: program "postgres" is needed by initdb but was not found in the same directory as "/data/data/com.termux/files/usr/bin/initdb"
~ $ 

czy coś jeszcze powinienem wcześniej wykonać aby móc to skonfigurować ?

@Szamotuly2004 @Medykkforek - znaleźliście antidotum na brak tej biblioteki?

 library "libicui18n.so.72" not found

EDIT:
Świeżo przywrócony system instalacji aplikacji AIS Server Termux.
W tej ścieżce odnajduję katalog postgresql
//data/data/com.termux/files/usr/var/lib

Dochodzę do wniosku, że est już zainstalowana baza PostgreSQL (local) czyli ta systemowo ustawiona na 10dni.
Po jej wybraniu i sprawdzeniu jest komunikat o problemie z połączeniem.

Jednak po wystartowaniu serwera komendą pg_ctl -D $PREFIX/var/lib/postgresql start

~ $ pg_ctl -D $PREFIX/var/lib/postgresql start
waiting for server to start....2023-01-31 21:58:21.557 CET [16405] LOG:  starting PostgreSQL 14.2 on arm-unknown-linux-androideabi, compiled by Android (7714059, based on r416183c1) clang version 12.0.8 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee), 32-bit
2023-01-31 21:58:21.558 CET [16405] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2023-01-31 21:58:21.565 CET [16405] LOG:  listening on Unix socket "/data/data/com.termux/files/usr/tmp/.s.PGSQL.5432"
2023-01-31 21:58:21.587 CET [16409] LOG:  database system was shut down at 2023-01-31 21:53:50 CET
2023-01-31 21:58:21.603 CET [16405] LOG:  database system is ready to accept connections
 done
server started

Uzyskuję możliwość połączenia i zapisu do tej bazy:

1 polubienie

Na tą chwilę nadal nie ma możliwości uruchomić Postgresa na Termuxie.
Polecam przestawić się na MySQL

ta baza działa bez biblioteki libicu72.

Uruchomienie Postgresql wymaga upgradu libicu z domyślnie instalowanej wersji 71 do 72, niestety po upgradzie AIS juz nie wstaje bo wymaga do pracy wersji 71 i nie współpracuje z wersja 72.
Rozwiązaniem było wydanie nowej wersji AIS współpracującej z libicu72, ale czekam od listopada i nie wiem kiedy można się tego spodziewać.

2 polubienia

~ $ initdb $PREFIX/var/lib/postgresql
CANNOT LINK EXECUTABLE “/data/data/com.termux/files/usr/bin/postgres”: library “libicui18n.so.72” not found
no data was returned by command “”/data/data/com.termux/files/usr/bin/postgres" -V"
initdb: error: program “postgres” is needed by initdb but was not found in the same directory as “/data/data/com.termux/files/usr/bin/initdb”
~ $

Ktoś pomoże? Jak zainstalować postgre na bramce z Termux ?