{"id":2528,"date":"2025-11-28T16:23:00","date_gmt":"2025-11-28T15:23:00","guid":{"rendered":"https:\/\/alessandromasciadri.com\/?p=2528"},"modified":"2026-02-25T16:25:56","modified_gmt":"2026-02-25T15:25:56","slug":"postgresql-in-docker-cosa-significa-il-warning-collation-version-mismatch-dopo-un-aggiornamento-dellimmagine","status":"publish","type":"post","link":"https:\/\/alessandromasciadri.com\/postgresql-in-docker-cosa-significa-il-warning-collation-version-mismatch-dopo-un-aggiornamento-dellimmagine\/","title":{"rendered":"PostgreSQL in Docker: cosa significa il warning \u201ccollation version mismatch\u201d dopo un aggiornamento dell\u2019immagine"},"content":{"rendered":"\t\t<div data-akihiro-type=\"ama-post\" data-akihiro-id=\"2528\" class=\"akihiro akihiro-2528\" data-akihiro-post-type=\"post\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-cbf5b39 e-flex e-con-boxed e-con e-parent\" data-id=\"cbf5b39\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-9fe0a11 akihiro-widget akihiro-widget-text-editor\" data-id=\"9fe0a11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Aggiorniamo l\u2019immagine Docker di PostgreSQL (magari da 16.0 a 16.11), riavviamo il container e nei log compare questo messaggio:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-ca3602a akihiro-widget akihiro-widget-code-highlight\" data-id=\"ca3602a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language- \">\n\t\t\t\t<code readonly=\"true\" class=\"language-\">\n\t\t\t\t\t<xmp>WARNING:  database \"main_db\" has a collation version mismatch\nDETAIL:  The database was created using collation version 2.36, but the operating system provides version 2.41.\nHINT:  Rebuild all objects in this database that use the default collation and run ALTER DATABASE main_db REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-53804db akihiro-widget akihiro-widget-text-editor\" data-id=\"53804db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Panico? No. Ma \u00e8 un warning che <strong>va capito e risolto<\/strong>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-27a7db6 akihiro-widget akihiro-widget-heading\" data-id=\"27a7db6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Perch\u00e9 compare questo errore?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-aaf495c akihiro-widget akihiro-widget-text-editor\" data-id=\"aaf495c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Quando usiamo PostgreSQL dentro <strong>Docker<\/strong>, il database si appoggia alla libreria di sistema (tipicamente glibc) presente nell\u2019immagine base del container per gestire le <em>collation<\/em>, cio\u00e8 le regole di ordinamento e confronto delle stringhe.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-3928d61 akihiro-widget akihiro-widget-text-editor\" data-id=\"3928d61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"1010\" data-end=\"1018\">Esempio:<\/p><ul><li data-start=\"1010\" data-end=\"1018\">come vengono ordinate le lettere accentate<\/li><li data-start=\"1010\" data-end=\"1018\">se \u201ca\u201d \u00e8 uguale o diversa da \u201cA\u201d<\/li><li data-start=\"1010\" data-end=\"1018\">come vengono confrontate stringhe in un indice UNIQUE<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-5b8f6f4 akihiro-widget akihiro-widget-text-editor\" data-id=\"5b8f6f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"1156\" data-end=\"1390\">Quando il database viene creato, PostgreSQL registra la <strong data-start=\"1212\" data-end=\"1240\">versione della collation<\/strong> disponibile in quel momento (es. 2.36).<br data-start=\"1280\" data-end=\"1283\" \/>Se in seguito aggiorniamo l\u2019immagine Docker, potremmo ottenere una versione diversa della libreria (es. 2.41).<\/p><p data-start=\"1392\" data-end=\"1533\">Risultato:<br data-start=\"1402\" data-end=\"1405\" \/>PostgreSQL si accorge che l\u2019ordinamento di sistema potrebbe essere cambiato e mostra il warning di <em data-start=\"1504\" data-end=\"1532\">collation version mismatch<\/em>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-666b8e2 akihiro-widget akihiro-widget-heading\" data-id=\"666b8e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">\u00c8 grave?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-3da6765 akihiro-widget akihiro-widget-text-editor\" data-id=\"3da6765\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"1553\" data-end=\"1591\">No, non \u00e8 una corruzione del database.<\/p><p data-start=\"1593\" data-end=\"1649\">Il database continua a funzionare normalmente. Tuttavia:<\/p><ul data-start=\"1651\" data-end=\"1938\"><li data-start=\"1651\" data-end=\"1766\"><p data-start=\"1653\" data-end=\"1766\">Gli <strong data-start=\"1657\" data-end=\"1697\">indici su colonne <code data-start=\"1677\" data-end=\"1683\">text<\/code> o <code data-start=\"1686\" data-end=\"1695\">varchar<\/code><\/strong> potrebbero essere stati costruiti con regole di ordinamento diverse.<\/p><\/li><li data-start=\"1767\" data-end=\"1846\"><p data-start=\"1769\" data-end=\"1846\">Le <strong data-start=\"1772\" data-end=\"1793\">constraint UNIQUE<\/strong> potrebbero teoricamente comportarsi in modo diverso.<\/p><\/li><li data-start=\"1847\" data-end=\"1938\"><p data-start=\"1849\" data-end=\"1938\">Gli <strong data-start=\"1853\" data-end=\"1865\">ORDER BY<\/strong> potrebbero restituire risultati leggermente diversi rispetto al passato.<\/p><\/li><\/ul><p data-start=\"1940\" data-end=\"2150\">Nella maggior parte dei casi non noteremo alcun problema concreto.<br data-start=\"2005\" data-end=\"2008\" \/>Ma PostgreSQL ci sta dicendo: \u201cSe le regole di ordinamento sono cambiate, \u00e8 meglio ricostruire gli indici per allinearli alla nuova versione\u201d.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-6746e1b akihiro-widget akihiro-widget-heading\" data-id=\"6746e1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Perch\u00e9 succede spesso in Docker?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-6fa7861 akihiro-widget akihiro-widget-text-editor\" data-id=\"6fa7861\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"2194\" data-end=\"2304\">Le immagini ufficiali di PostgreSQL si basano su distribuzioni Linux (es. Debian). Quando aggiorniamo l\u2019immagine:<\/p><ul data-start=\"2306\" data-end=\"2411\"><li data-start=\"2306\" data-end=\"2325\"><p data-start=\"2308\" data-end=\"2325\">cambia PostgreSQL<\/p><\/li><li data-start=\"2306\" data-end=\"2325\"><p data-start=\"2308\" data-end=\"2325\">pu\u00f2 cambiare anche la versione di glibc<\/p><\/li><li data-start=\"2306\" data-end=\"2325\"><p data-start=\"2308\" data-end=\"2325\">quindi cambia la versione delle collation<\/p><\/li><\/ul><p data-start=\"2413\" data-end=\"2486\">Anche se il nostro volume dati \u00e8 lo stesso, l\u2019ambiente runtime non lo \u00e8 pi\u00f9.<\/p><p data-start=\"2488\" data-end=\"2586\">Questo \u00e8 uno degli effetti collaterali \u201csilenziosi\u201d degli aggiornamenti di immagine nei container.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-f020746 akihiro-widget akihiro-widget-heading\" data-id=\"f020746\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">La soluzione corretta<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-92bf291 akihiro-widget akihiro-widget-text-editor\" data-id=\"92bf291\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"2619\" data-end=\"2692\">La soluzione \u00e8 quella suggerita direttamente dal messaggio di PostgreSQL:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-87d32c6 akihiro-widget akihiro-widget-heading\" data-id=\"87d32c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h5 class=\"akihiro-heading-title akihiro-size-default\">(Consigliato) Eseguiamo un backup<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-87f042b akihiro-widget akihiro-widget-text-editor\" data-id=\"87f042b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Non \u00e8 obbligatorio, ma \u00e8 buona pratica prima di operazioni strutturali:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-c83be0d akihiro-widget akihiro-widget-code-highlight\" data-id=\"c83be0d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>pg_dump -Fc -d main_db -f main_db_before_reindex.dump<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-46a5267 akihiro-widget akihiro-widget-heading\" data-id=\"46a5267\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h5 class=\"akihiro-heading-title akihiro-size-default\">Ricostruiamo gli indici<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-a958eeb akihiro-widget akihiro-widget-text-editor\" data-id=\"a958eeb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Opzione standard (con lock):<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-ab282f2 akihiro-widget akihiro-widget-code-highlight\" data-id=\"ab282f2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>REINDEX DATABASE main_db;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-2f11759 akihiro-widget akihiro-widget-text-editor\" data-id=\"2f11759\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In produzione \u00e8 preferibile la versione concorrente:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-c250251 akihiro-widget akihiro-widget-code-highlight\" data-id=\"c250251\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>REINDEX (CONCURRENTLY) DATABASE main_db;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-bb2af6d akihiro-widget akihiro-widget-text-editor\" data-id=\"bb2af6d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Questa modalit\u00e0:<\/p><ul><li>non blocca le query normali<\/li><li>\u00e8 pi\u00f9 lenta<\/li><li>\u00e8 pi\u00f9 sicura in ambienti live<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-2f247c4 akihiro-widget akihiro-widget-heading\" data-id=\"2f247c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h5 class=\"akihiro-heading-title akihiro-size-default\">Aggiorniamo la versione della collation registrata<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-714fa4e akihiro-widget akihiro-widget-text-editor\" data-id=\"714fa4e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dopo il reindex:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-087afc2 akihiro-widget akihiro-widget-code-highlight\" data-id=\"087afc2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql \">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>ALTER DATABASE main_db REFRESH COLLATION VERSION;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-15ede83 akihiro-widget akihiro-widget-text-editor\" data-id=\"15ede83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>A questo punto il warning scompare definitivamente.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-8ac39d3 akihiro-widget akihiro-widget-heading\" data-id=\"8ac39d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">\u00c8 un warning che possiamo ignorare?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-5146204 akihiro-widget akihiro-widget-text-editor\" data-id=\"5146204\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Tecnicamente possiamo ignorarlo se:<\/p><ul><li>\u00e8 un ambiente di sviluppo<\/li><li>non abbiamo indici su colonne testuali<\/li><li>non abbiamo constraint UNIQUE su stringhe<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-2800a99 akihiro-widget akihiro-widget-text-editor\" data-id=\"2800a99\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In produzione, invece, \u00e8 consigliato risolverlo per evitare comportamenti inconsistenti nel lungo periodo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Aggiorniamo l\u2019immagine Docker di PostgreSQL (magari da 16.0 a 16.11), riavviamo il container e nei log compare questo messaggio: WARNING: database &#8220;main_db&#8221; has a collation version mismatch DETAIL: The database was created using collation version 2.36, but the operating system provides version 2.41. HINT: Rebuild all objects in this database that use the default collation [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[2,27],"class_list":["post-2528","post","type-post","status-publish","format-standard","hentry","category-sistemistica","tag-code","tag-docker"],"_links":{"self":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/comments?post=2528"}],"version-history":[{"count":8,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2528\/revisions"}],"predecessor-version":[{"id":2537,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2528\/revisions\/2537"}],"wp:attachment":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/media?parent=2528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/categories?post=2528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/tags?post=2528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}