# 🔴 Relacyjna Baza danych PostgreSQL

**URL:** <https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014>\
**Category:** Projekty\
**Created:** [27 Listopad 2020 14:13 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014 "2020-11-27T14:13:42Z")\
**Posts on this page:** 9\
**Page:** 3

<div class="post-metadata">

**Autor:** ![SebiCo](https://avatars.discourse-cdn.com/v4/letter/s/ac8455/32.png) [@SebiCo](https://ai-speaker.discourse.group/u/SebiCo)\
**Data wpisu:** [23 Sierpień 2022 19:45 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/42 "2022-08-23T19:45:09Z")

</div>

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

---

<div class="post-metadata">

**Autor:** ![Cezary.K](https://avatars.discourse-cdn.com/v4/letter/c/a88e4f/32.png) [@Cezary.K](https://ai-speaker.discourse.group/u/Cezary.K)\
**Data wpisu:** [23 Sierpień 2022 20:20 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/43 "2022-08-23T20:20:07Z")

</div>

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

 ![obraz](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/7/712de5adc5b15731a6331b7270816cabba8536c9.png)

---

<div class="post-metadata">

**Autor:** ![bartas87poz](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bartas87poz](https://ai-speaker.discourse.group/u/bartas87poz)\
**Data wpisu:** [6 Wrzesień 2022 22:13 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/44 "2022-09-06T22:13:19Z")

</div>

Miałem identyczną sytuację:

- bazę danych [PostgreSQL](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014) postawioną na DEV3 przed aktualizacją
- przejście zgodnie z instrukcją na [binarki Termux](https://ai-speaker.discourse.group/t/przejscie-na-binarki-termux/2977/86)
- 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](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/6/63cec2777cfb116680a7d6728c7f6c77e786ee1a.jpeg)

- usuniecie całego katalogu: `/data/data/com.termux/files/usr/var/lib/postgresql`  
 ![Bez tytułu2](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/8/8ec4ff5cea4fcfcf2807a5c56f205b59e4409570.jpeg)

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

```auto
~ $ 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.

---

<div class="post-metadata">

**Autor:** ![Medykkforek](https://avatars.discourse-cdn.com/v4/letter/m/f6c823/32.png) [@Medykkforek](https://ai-speaker.discourse.group/u/Medykkforek)\
**Data wpisu:** [22 Grudzień 2022 09:53 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/45 "2022-12-22T09:53:10Z")

</div>

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

```auto
$ 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"

```

---

<div class="post-metadata">

**Autor:** ![Mdk](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/mdk/32/8754_2.png) [@Mdk](https://ai-speaker.discourse.group/u/Mdk)\
**Data wpisu:** [8 Styczeń 2023 09:37 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/46 "2023-01-08T09:37:41Z")

</div>

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

 ![Screenshot_20230108_101927_Home Assistant](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/8/880e75cbf1c700b5c7d7c96e2a18d79a2805fee5.jpeg)

 ![Screenshot_20230108_102013_Home Assistant](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/a/a9cf836743bc7988b0e89123d9bfa7f9f126f2e5.jpeg)

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.

---

<div class="post-metadata">

**Autor:** ![Szamotuly2004](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/szamotuly2004/32/14213_2.png) [@Szamotuly2004](https://ai-speaker.discourse.group/u/Szamotuly2004)\
**Data wpisu:** [17 Styczeń 2023 12:48 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/47 "2023-01-17T12:48:40Z")

</div>

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

```auto
~ $ 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ć ?

---

<div class="post-metadata">

**Autor:** ![Cezary.K](https://avatars.discourse-cdn.com/v4/letter/c/a88e4f/32.png) [@Cezary.K](https://ai-speaker.discourse.group/u/Cezary.K)\
**Data wpisu:** [30 Styczeń 2023 23:47 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/48 "2023-01-30T23:47:01Z")

</div>

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

```auto
 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.

 ![obraz](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/2/2a439f8ed9b60041539968bf37d346f1d45d5ae6.png)

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

```auto
~ $ 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:

 ![obraz](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/1f6662efd67913dc9bec15e080110a2d9e19fa26.png)

---

<div class="post-metadata">

**Autor:** ![Michal\_WRO](https://avatars.discourse-cdn.com/v4/letter/m/ecae2f/32.png) [@Michal\_WRO](https://ai-speaker.discourse.group/u/Michal_WRO)\
**Data wpisu:** [8 Luty 2023 13:10 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/49 "2023-02-08T13:10:32Z")

</div>

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

> [@dolphin MariaDB / MySQL](https://ai-speaker.discourse.group/t/mariadb-mysql/1830):
>
> MariaDB / MySQL w AIS [image] warning Opis ten ma charakter edukacyjny Podobnie jak w przypadku Node-RED, PostgreSQL, InfluxDB i innych rzeczy, które można instalować na bramce, nie jest to coś, co w AI-Speaker rekomendujemy czy wspieramy. Jeśli instalujesz bazę danych na bramce to pamiętaj, że jesteś jej administratorem i sam dbasz o ilość danych które są generowane w Twoim systemie i zapisywane w Twojej bazie. Historia MariaDB MariaDB to fork(kopia kodu) MySQL. Michael Monty Widenius …

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ć.

---

<div class="post-metadata">

**Autor:** ![Maniek](https://avatars.discourse-cdn.com/v4/letter/m/49beb7/32.png) [@Maniek](https://ai-speaker.discourse.group/u/Maniek)\
**Data wpisu:** [1 Marzec 2023 11:11 UTC](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014/50 "2023-03-01T11:11:35Z")

</div>

~ $ 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 ?

[Poprzednia strona](https://ai-speaker.discourse.group/t/relacyjna-baza-danych-postgresql/1014.md?page=2)
