# 'bundle exec rake db:migrate' richiede molto tempo a causa della migrazione del calendario

**URL:** https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434
**Category:** Self-hosting
**Created:** [4 Dicembre 2023, 1:58pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434 "2023-12-04T13:58:11Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Sikamikanico](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sikamikanico/32/204533_2.png) [@Sikamikanico](https://meta.discourse.org/u/Sikamikanico)
#### Post date: [4 Dicembre 2023, 1:58pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/1 "2023-12-04T13:58:11Z")

</div>

Ciao a tutti, spero in un aiuto!

Qualcuno ha già riscontrato questo problema?

./launcher rebuild app è in esecuzione, arriva a questo punto e rimane bloccato qui.

 ![image](https://global.discourse-cdn.com/meta/original/4X/6/6/4/664ba062047f1f775963ddc3f33b7d1c361fc814.png)

Ora sta facendo qualcosa, ma lo sta facendo estremamente lentamente. Gestisco il forum tramite una droplet Digital Ocean auto-installata da 3 anni, ma questa è una novità e sta causando molti tempi di inattività. C’è un modo per risolvere questo problema? È legato alle immagini sul forum o a qualcos’altro?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [4 Dicembre 2023, 2:04pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/2 "2023-12-04T14:04:32Z")

</div>

Puoi aprire un’altra sessione SSH e provare a trovare quale migrazione sta causando problemi?

Qualcosa come `ps aux | grep postgres` dovrebbe mostrarne l’inizio.

---

<div class="post-metadata">

### Author: ![Sikamikanico](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sikamikanico/32/204533_2.png) [@Sikamikanico](https://meta.discourse.org/u/Sikamikanico)
#### Post date: [4 Dicembre 2023, 2:22pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/3 "2023-12-04T14:22:47Z")

</div>

Non sono un esperto di Linux (o, francamente, nemmeno un dilettante) ma ci proverò.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [4 Dicembre 2023, 4:01pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/4 "2023-12-04T16:01:59Z")

</div>

A mia supposizione è che si stia esaurendo la memoria. Puoi provare

```
free -h

```

Forse anche

```
du -hs /var/discourse/shared/standalone/*

```

---

<div class="post-metadata">

### Author: ![Sikamikanico](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sikamikanico/32/204533_2.png) [@Sikamikanico](https://meta.discourse.org/u/Sikamikanico)
#### Post date: [4 Dicembre 2023, 4:02pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/5 "2023-12-04T16:02:33Z")

</div>

Memoria (RAM) o Spazio su disco?

Penso che ce ne dovrebbe essere in abbondanza di entrambi - il Droplet è: 8 GB di memoria / 4 vCPU Intel / 160 GB di disco + 200 GB / Ubuntu 18.04.3 (LTS) x64

È “sicuro” aprire un’altra sessione SSH ed eseguirli mentre questo db:migrate è ancora in esecuzione?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 Dicembre 2023, 4:14pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/6 "2023-12-04T16:14:38Z")

</div>

> [@Sikamikanico](#):
>
> Ubuntu 18.04.3 (LTS) x64

Se fossi in te, inizierei procurandomi un nuovo VPS con un sistema operativo che abbia ancora supporto attivo.

> [@Sikamikanico](#):
>
> È “sicuro” aprire un’altra sessione SSH ed eseguirli mentre questo db:migrate è ancora in esecuzione?

Sì.

---

<div class="post-metadata">

### Author: ![Sikamikanico](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sikamikanico/32/204533_2.png) [@Sikamikanico](https://meta.discourse.org/u/Sikamikanico)
#### Post date: [4 Dicembre 2023, 4:15pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/7 "2023-12-04T16:15:43Z")

</div>

Va bene, ti prego di capire che NON sono un esperto di Linux: il tuo post suggerisce che la versione attuale di Ubuntu sia super obsoleta, ecc.?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 Dicembre 2023, 4:22pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/8 "2023-12-04T16:22:29Z")

</div>

Sì, il sistema operativo risale all’aprile 2018 ed è stato supportato per 5 anni, quindi è terminato oltre 6 mesi fa.

---

<div class="post-metadata">

### Author: ![Sikamikanico](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sikamikanico/32/204533_2.png) [@Sikamikanico](https://meta.discourse.org/u/Sikamikanico)
#### Post date: [4 Dicembre 2023, 4:44pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/9 "2023-12-04T16:44:21Z")

</div>

Apprezzo le informazioni.

Come qualcuno che ammette liberamente di essere un dilettante che fa del suo meglio, hai qualche raccomandazione su cosa dovrei fare dopo?

Il db:migrate è fallito - il messaggio era:

client\_loop: send disconnect: Connection reset

Accedendo di nuovo, hai perfettamente ragione:

Nuova release ‘20.04.6 LTS’ disponibile.  
Esegui ‘do-release-upgrade’ per aggiornare.

Considerando che il mio forum è attualmente inattivo, posso procedere tranquillamente con l’aggiornamento e poi preoccuparmi di sistemare il forum? o dovrei prima cercare di rimetterlo online?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 Dicembre 2023, 4:48pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/10 "2023-12-04T16:48:34Z")

</div>

🤔 Quello è un errore SSH…

Hai fatto un backup prima dell’aggiornamento? Se sì, sarebbe più facile ottenere un server nuovo di zecca con Ubuntu 22, installare Discourse e ripristinare il backup.

---

<div class="post-metadata">

### Author: ![Sikamikanico](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sikamikanico/32/204533_2.png) [@Sikamikanico](https://meta.discourse.org/u/Sikamikanico)
#### Post date: [4 Dicembre 2023, 4:51pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/11 "2023-12-04T16:51:20Z")

</div>

Ahimè, uno dei miei amministratori ha premuto il pulsante di aggiornamento sul sito, e sembra che sia fallito e abbia poi rotto tutto. 😃

L’ultimo backup è stato effettuato ieri, quindi non è troppo grave.

Mi pare di capire che un aggiornamento al server esistente cancellerebbe l’installazione esistente, giusto?

(Grazie per la tua pazienza @RGJ comunque)

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 Dicembre 2023, 5:21pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/12 "2023-12-04T17:21:03Z")

</div>

> [@Sikamikanico](#):
>
> Suppongo che un aggiornamento al server esistente cancellerebbe l’installazione esistente?

Difficile da dire, ma dato che le cose stanno fallendo, non correrei il rischio. Almeno non prima di essermi assicurato che il backup sia conservato in un luogo sicuro.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [4 Dicembre 2023, 6:06pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/13 "2023-12-04T18:06:30Z")

</div>

C’è una discreta possibilità che tu possa avviare una nuova VM, arrestare il container (sembra che non sia in esecuzione comunque) quindi usare `rsync` per trasferire tutto sul nuovo server e riprovare lì. Questo probabilmente ti permetterà di tornare operativo senza perdere dati.

---

<div class="post-metadata">

### Author: ![Sikamikanico](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sikamikanico/32/204533_2.png) [@Sikamikanico](https://meta.discourse.org/u/Sikamikanico)
#### Post date: [4 Dicembre 2023, 6:08pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/14 "2023-12-04T18:08:35Z")

</div>

Sembra tutto così semplice, ma cavolo, mi sento fuori dalla mia portata qui. Attualmente è in esecuzione su una droplet di DigitalOcean. Quindi avviare una nuova VM - è una frase carica? Sulla stessa droplet? Su una nuova? 🥴

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 Dicembre 2023, 7:46pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/15 "2023-12-04T19:46:26Z")

</div>

Una VM è il termine comune per quello che DigitalOcean chiama droplet.

Sembra che tu voglia dare un’occhiata al mio profilo e considerare l’hosting gestito 😉

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [4 Dicembre 2023, 10:51pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/16 "2023-12-04T22:51:41Z")

</div>

> [@Falco](#):
>
> Qualcosa come `ps aux | grep postgres` dovrebbe mostrare l’inizio.

```plaintext
ystemd+ 7660 0.0 0.3 352060 28284 ? S 22:31 0:00 /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
systemd+ 7667 0.0 0.1 352588 9628 ? Ss 22:31 0:00 postgres: 13/main: checkpointer 
systemd+ 7668 0.3 0.9 352060 78796 ? Ss 22:31 0:03 postgres: 13/main: background writer 
systemd+ 7669 0.0 0.1 352060 13696 ? Ss 22:31 0:00 postgres: 13/main: walwriter 
systemd+ 7670 0.0 0.1 352728 11892 ? Ss 22:31 0:00 postgres: 13/main: autovacuum launcher 
systemd+ 7671 0.0 0.0 67996 5320 ? Ss 22:31 0:00 postgres: 13/main: stats collector 
systemd+ 7672 0.0 0.0 352612 6640 ? Ss 22:31 0:00 postgres: 13/main: logical replication launcher 
systemd+ 10900 82.0 3.8 487164 317728 ? Rs 22:33 10:42 postgres: 13/main: discourse discourse [local] DELETE
systemd+ 10901 0.0 0.1 353432 13804 ? Ss 22:33 0:00 postgres: 13/main: discourse discourse [local] idle

```

`htop` mostra che il `discourse [local] delete` sta consumando il 100% della CPU. Il droplet ha 8GB di RAM e al momento viene utilizzata meno di 1GB (senza contare i buffer).

Il sistema operativo è obsoleto, ma questo mi sembra molto strano. C’è molta RAM e disco, e quel task di delete di postgres è in esecuzione da oltre 12 minuti. Ci sono meno di 600K post e meno di 4K utenti, quindi il database non è enorme. Oh. Aspetta. la directory `postgres_data` è di 28GB.

Ho eseguito un `VACUUM VERBOSE ANALYZE;`.

Ho fatto questo:

```plaintext
discourse=# SELECT checkpoints_timed, checkpoints_req FROM pg_stat_bgwriter; 
 checkpoints_timed | checkpoints_req 
-------------------+-----------------
                 6 | 20

```

Sto ora provando a fare un reindex concorrente. Forse il vacuum e il reindex aiuteranno.

---

<div class="post-metadata">

### Author: ![Sikamikanico](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sikamikanico/32/204533_2.png) [@Sikamikanico](https://meta.discourse.org/u/Sikamikanico)
#### Post date: [4 Dicembre 2023, 11:21pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/17 "2023-12-04T23:21:33Z")

</div>

> [@pfaffman](#):
>
> La directory `postgres_data` è di 28 GB.

Grazie Jay. Fammi sapere se hai bisogno di qualcosa da parte mia.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [4 Dicembre 2023, 11:39pm UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/18 "2023-12-04T23:39:37Z")

</div>

> [@pfaffman](#):
>
> `htop` mostra che `discourse [local] delete` sta consumando il 100% della CPU. Il droplet ha 8 GB di RAM e al momento viene utilizzato meno di 1 GB (esclusi i buffer).

Per favore, condividi l’intero SQL della query in esecuzione da molto tempo.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [5 Dicembre 2023, 12:02am UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/19 "2023-12-05T00:02:11Z")

</div>

Dove lo trovo?

La migrazione non sta stampando alcun log. L’ultima riga nella ricostruzione è

```plaintext
I, [2023-12-04T22:33:33.759401 #1] INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'

```

Sto lavorando a un log completo per quello che ho appena riavviato.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [5 Dicembre 2023, 12:03am UTC](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434/20 "2023-12-05T00:03:21Z")

</div>

Entra nel container, passa all’utente postgres, entra in psql ed esegui

```plaintext
SELECT pid, age(clock_timestamp(), query_start), usename, query
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%'
ORDER BY query_start desc;

```

[Pagina seguente](https://meta.discourse.org/t/bundle-exec-rake-db-migrate-taking-a-long-time-due-to-calendar-migration/287434.md?page=2)
