{"id":121901,"date":"2025-02-13T14:22:07","date_gmt":"2025-02-13T12:22:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-subd-duckdb-1-2-0"},"modified":"2025-02-13T14:22:07","modified_gmt":"2025-02-13T12:22:07","slug":"reliz-subd-duckdb-1-2-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-subd-duckdb-1-2-0","title":{"rendered":"Lan\u00e7amento do SGBD DuckDB 1.2.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Foi publicado o lan\u00e7amento do SGBD DuckDB 1.2.0, focado na execu\u00e7\u00e3o de consultas anal\u00edticas e que, de forma conceitual, lembra o SQLite. O DuckDB combina propriedades do SQLite, como compacta\u00e7\u00e3o, conex\u00e3o como biblioteca embutida, armazenamento de banco de dados em um \u00fanico arquivo e interface de linha de comando, com recursos e otimiza\u00e7\u00f5es para executar consultas anal\u00edticas que abrangem uma parte significativa dos dados armazenados, como agrega\u00e7\u00f5es de todo o conte\u00fado de tabelas ou fus\u00f5es de v\u00e1rias tabelas grandes. O c\u00f3digo do projeto \u00e9 escrito em C++ e \u00e9 distribu\u00eddo sob a licen\u00e7a MIT.     <\/p>\n<p>O DuckDB fornece um dialeto avan\u00e7ado da linguagem SQL, que inclui recursos adicionais para o processamento de consultas muito complexas e longas. \u00c9 poss\u00edvel utilizar tipos complexos (arrays, estruturas, uni\u00f5es), bem como executar subconsultas correlacionadas arbitr\u00e1rias e aninhadas. Suporte para a execu\u00e7\u00e3o simult\u00e2nea de v\u00e1rias consultas, execu\u00e7\u00e3o de consultas diretamente de arquivos nos formatos CSV e Parquet \u00e9 suportado. A importa\u00e7\u00e3o de SGBDs PostgreSQL tamb\u00e9m \u00e9 poss\u00edvel.    <\/p>\n<p>O projeto utiliza um shell de SQLite, parser do PostgreSQL, componente de Data Math do MonetDB, sua pr\u00f3pria implementa\u00e7\u00e3o de fun\u00e7\u00f5es de janelas (baseada no algoritmo Segment Tree Aggregation), um processador de express\u00f5es regulares baseado na biblioteca RE2, um otimizador de consultas pr\u00f3prio, um mecanismo MVCC de controle de concorr\u00eancia (Controle de Concorr\u00eancia Multi-vers\u00e3o), al\u00e9m de um mecanismo de execu\u00e7\u00e3o de consultas vetorizado baseado no algoritmo Hyper-Pipelining Query Execution, permitindo que grandes conjuntos de valores sejam processados em uma \u00fanica opera\u00e7\u00e3o.    <\/p>\n<p>Na nova vers\u00e3o:  <\/p>\n<ul>\n<li class=\"l\"> Foi implementado o suporte a novos m\u00e9todos de compacta\u00e7\u00e3o, que n\u00e3o est\u00e3o ativados por padr\u00e3o para garantir a compatibilidade dos arquivos de banco de dados com vers\u00f5es anteriores do DuckDB. Para usar o formato melhorado dos arquivos de banco de dados, foi oferecida a possibilidade de vincular o banco de dados a um n\u00famero de vers\u00e3o \u2014 ao abrir um arquivo usando o par\u00e2metro \u00abSTORAGE_VERSION\u00bb, agora \u00e9 poss\u00edvel especificar a vers\u00e3o m\u00ednima suportada do banco de dados (\u00abATTACH 'file.db' (STORAGE_VERSION 'v1.2.0');\u00bb). Para converter do novo formato para o antigo, pode-se usar o comando SQL COPY, por exemplo:       ATTACH 'file1.db';     ATTACH 'converted_file.db' (STORAGE_VERSION 'v1.0.0');     COPY FROM DATABASE file1 TO converted_file;\n<li class=\"l\"> Adicionado suporte para o comando SQL \u00abALTER TABLE \u2026 ADD PRIMARY KEY\u00bb para adicionar uma chave prim\u00e1ria a uma tabela existente.\n<li class=\"l\"> Removida a restri\u00e7\u00e3o que n\u00e3o permitia a reutiliza\u00e7\u00e3o de identificadores para os quais existe um \u00edndice de rastreamento de unicidade, se esses identificadores foram removidos na transa\u00e7\u00e3o atual. Por exemplo, o c\u00f3digo SQL abaixo n\u00e3o gera mais erro:       CREATE TABLE students (id INTEGER PRIMARY KEY, name VARCHAR);     INSERT INTO students VALUES (1, 'John Doe');       BEGIN;        DELETE FROM students WHERE id = 1;        INSERT INTO students VALUES (1, 'Jane Doe');\n<li class=\"l\"> Adicionado suporte para carregamento de arquivos CSV nos formatos Latin-1 e UTF-16 (anteriormente, apenas o formato UTF-8 era suportado).       FROM read_csv('cities-latin-1.csv', encoding = 'latin-1');\n<li class=\"l\"> Adicionado suporte para o uso de delimitadores multibyte (at\u00e9 4 bytes) em arquivos CSV, permitindo a especifica\u00e7\u00e3o de emojis como delimitadores de colunas.         a\ud83d\udc7eb     hello\ud83d\udc7eworld       FROM read_csv('example.dsv', sep = '\ud83d\udc7e');\n<li class=\"l\"> O modo estrito de an\u00e1lise de arquivos CSV (\u00abstrict_mode = true\u00bb) est\u00e1 ativado por padr\u00e3o, verificando a conformidade com a formata\u00e7\u00e3o da especifica\u00e7\u00e3o RFC 4180. No modo estrito, \u00e9 permitido o uso de apenas um s\u00edmbolo para a separa\u00e7\u00e3o de linhas, o que resultar\u00e1 em erro ao tentar analisar arquivos onde a separa\u00e7\u00e3o de linhas usa n\u00e3o apenas o s\u00edmbolo de nova linha, mas tamb\u00e9m o s\u00edmbolo de retorno de carro (\u00ab\r\n\u00bb).\n<li class=\"l\"> O analisador CSV agora utiliza um novo algoritmo para determinar novas linhas, suportando a paraleliza\u00e7\u00e3o das opera\u00e7\u00f5es. O uso do novo algoritmo acelerou a an\u00e1lise de CSV em cerca de 15%.\n<li class=\"l\"> Removido o limite de tamanho da linha em arquivos CSV (anteriormente, a linha n\u00e3o poderia exceder 8 MB).\n<li class=\"l\"> Ao exportar dados no formato Parquet, foi implementado suporte a hashes (dicion\u00e1rios) e \u00edndices com base no filtro Bloom. Implementado o m\u00e9todo de compress\u00e3o DELTA_BINARY_PACKED, que permite reduzir significativamente o tamanho dos arquivos Parquet.\n<li class=\"l\"> Um modo seguro foi adicionado \u00e0 interface de linha de comando, ativado pela op\u00e7\u00e3o \u00ab-safe\u00bb ou pelo comando \u00ab.safe_mode\u00bb. Neste modo, o acesso \u00e9 permitido apenas ao arquivo de banco de dados originalmente especificado, e a tentativa de abrir outros arquivos resultar\u00e1 em uma mensagem de erro.\n<li class=\"l\"> A interface da linha de comando melhorou o autocompletar. O c\u00f3digo para autocompletar foi adaptado para usar PEG (Gram\u00e1tica de Express\u00e3o de An\u00e1lise).\n<li class=\"l\"> Ao executar comandos na interface de linha de comando, h\u00e1 uma exibi\u00e7\u00e3o visual de grandes n\u00fameros; por exemplo, ao exibir o n\u00famero 100000000, ser\u00e1 acrescentado adicionalmente &#171;(100 milh\u00f5es)&#187;.\n<li class=\"l\"> No SQL, foi adicionada a suporte ao sintaxe em que os nomes abreviados de tabelas e express\u00f5es podem ser especificados antes dos valores aos quais eles se referem (em vez de usar a sintaxe &#171;express\u00e3o AS nome&#187;):        SELECT          e1: some_long_and_winding_expression,         e2: t2.a_column_name      FROM         t1: long_schema.some_long_table_name,         t2: short_s.tbl;\n<li class=\"l\"> No comando &#171;SELECT&#187;, foi implementado suporte \u00e0 opera\u00e7\u00e3o &#171;RENAME&#187; para renomear campos exibidos ao especificar a express\u00e3o &#171;*&#187;:       SELECT * RENAME (col1 AS new_col1) FROM integers;\n<li class=\"l\"> No comando &#171;SELECT&#187;, o uso das opera\u00e7\u00f5es &#171;LIKE&#187; e &#171;SIMILAR TO&#187; \u00e9 permitido ao exibir com &#171;*&#187; :       SELECT * LIKE &#8216;val%&#8217; FROM key_val;\n<li class=\"l\"> A qualidade da gera\u00e7\u00e3o de n\u00fameros pseudo-aleat\u00f3rios foi aprimorada.\n<li class=\"l\"> O otimizador de consultas foi modernizado. O desempenho durante o teste TPC-H SF100 aumentou em 13%.\n<li class=\"l\"> Um novo API semelhante ao C foi proposto para o desenvolvimento de plugins, que pode ser usado, por exemplo, para criar novas fun\u00e7\u00f5es agregadas ou tabelas.\n<li class=\"l\"> Foi adicionada a compatibilidade com sistemas que possuem a biblioteca padr\u00e3o C Musl.          <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62712\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 DuckDB 1.2.0, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 SQLite. DuckDB \u0441\u043e\u0447\u0435\u0442\u0430\u0435\u0442 \u0442\u0430\u043a\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 SQLite, \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u044c, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432 \u0444\u043e\u0440\u043c\u0435 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0411\u0414 \u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438 CLI-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0445 \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0442\u0430\u0431\u043b\u0438\u0446 \u0438\u043b\u0438 \u0441\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121901","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 DuckDB 1.2.0, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 SQLite.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-subd-duckdb-1-2-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 DuckDB 1.2.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 DuckDB 1.2.0, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 SQLite.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-subd-duckdb-1-2-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-13T12:22:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-02-13T12:22:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lan\u00e7amento do banco de dados DuckDB 1.2.0 | ProHoster","description":"Foi lan\u00e7ado o banco de dados DuckDB 1.2.0, voltado para a execu\u00e7\u00e3o de consultas anal\u00edticas e conceitualmente semelhante ao SQLite.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-subd-duckdb-1-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 DuckDB 1.2.0 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0421\u0423\u0411\u0414 DuckDB 1.2.0, \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 SQLite.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-subd-duckdb-1-2-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-02-13T12:22:07+00:00","article:modified_time":"2025-02-13T12:22:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121901","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 10:33:44","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 10:33:44","updated":"2026-01-23 10:33:44","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/121901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=121901"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/121901\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=121901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=121901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=121901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}