{"id":31515,"date":"2017-10-27T13:34:59","date_gmt":"2017-10-27T13:34:59","guid":{"rendered":"http:\/\/blogmed.antonini.med.br\/?p=31515"},"modified":"2021-04-02T04:56:01","modified_gmt":"2021-04-02T04:56:01","slug":"como-migrar-banco-de-dados-mysql-para-postgresql","status":"publish","type":"post","link":"https:\/\/antonini.ddns.net\/?p=31515","title":{"rendered":"Como migrar banco de dados MySQL para PostgreSQL"},"content":{"rendered":"<p style=\"text-align: justify;\">Postgres \u00e9 um sistema de gerenciamento de banco de dados com \u00eanfase na extensibilidade e na conformidade de padr\u00f5es. Como servidor de banco de dados, suas principais fun\u00e7\u00f5es s\u00e3o armazenar dados de forma segura e devolver esses dados em resposta a solicita\u00e7\u00f5es de outros aplicativos de software.<\/p>\n<p style=\"text-align: justify;\">MySQL \u00e9 um sistema extensivamente utilizado, no entanto, o fork MariaDB tem conquistado seu espa\u00e7o dentro do meio empresarial e por desenvolvedores de softwares livres no mundo todo. Tal fato tem permitido que o seu desenvolvimento fosse mais acelerado do que o MySQL. Mas outras solu\u00e7\u00f5es robustas e de custo 0, s\u00e3o oferecidas e com vantagens no gerenciamento e usabilidade.<\/p>\n<p style=\"text-align: justify;\">O banco de dados Postgres tem muitas caracter\u00edsticas desej\u00e1veis que esses sistemas ainda est\u00e3o em desenvolvimento. Sua comunidade tem se mostrado atuante no desenvolvimento de novas funcionalidades. Uma de suas caracter\u00edsticas marcantes \u00e9 o gerenciamento de schemas dentro de uma database, especificamente.<\/p>\n<p style=\"text-align: justify;\">Ainda que muitas empresas e desenvolvedores matem bases de dados MySQL pela praticidade e por ofertas de sistemas ou hosts de hospedagem. Entretanto, com advento de hosts dedicados, esse cen\u00e1rio tem sofrido levemente altera\u00e7\u00f5es e tend\u00eancias futuras de uso de banco de dados de cunho espec\u00edfico tornar\u00e1 uma realidade.<\/p>\n<p style=\"text-align: justify;\">Certamente, empresas e grandes organiza\u00e7\u00f5es tendem a migrar seus bancos de dados para tecnologias capazes de armazenar grandes volumes de dados na ordem de TB. Atualmente, postgres suporta 32TB de dados.<\/p>\n<p style=\"text-align: justify;\">A seguir, s\u00e3o apresentados na pr\u00e1tica uma forma simples e r\u00e1pida de realizar a migra\u00e7\u00e3o de bancos de dados MySQL para PostgreSQL. Para realizar esse procedimento n\u00f3s iremos utilizar o script de Lanyrd&#8217;s (MySQL to PostgreSQLconversion script), por favor, n\u00e3o deixe de visitar a p\u00e1gina:<br \/>\nGitHub &#8211; lanyrd\/mysql-postgresql-converter: Lanyrd&#8217;s MySQL to PostgreSQL conversion script<\/p>\n<p style=\"text-align: justify;\">Download de Mysql-postgresql-converter:<\/p>\n<p style=\"text-align: justify;\"><em>git clone https:\/\/github.com\/lanyrd\/mysql-postgresql-converter.git<\/em><\/p>\n<p style=\"text-align: justify;\"><em>cd mysql-postgresql-converter<\/em><\/p>\n<p style=\"text-align: justify;\">Extrair banco de dados compat\u00edvel com Postgres:<\/p>\n<p style=\"text-align: justify;\"><em>mysqldump &#8211;compatible=postgresql &#8211;default-character-set=utf8 -r plant_data.mysql -u root p d plant_data<\/em><\/p>\n<p style=\"text-align: justify;\">Converter padr\u00e3o de MySQL para Postgres:<\/p>\n<p style=\"text-align: justify;\"><em>python db_converter.py plant_data.mysql plant_data.psql<\/em><\/p>\n<p style=\"text-align: justify;\">Crie um banco de dados no Postgres e, em seguida, fa\u00e7a a importa\u00e7\u00e3o dos dados:<\/p>\n<p style=\"text-align: justify;\"><em>su postgres<\/em><br \/>\n<em>psql<\/em><br \/>\n<em>cretate database plant_data<\/em><\/p>\n<p style=\"text-align: justify;\">Sair do banco de dados:<\/p>\n<p style=\"text-align: justify;\"><em>q<\/em><\/p>\n<p style=\"text-align: justify;\">Importar a base de dados:<\/p>\n<p style=\"text-align: justify;\"><em>psql d plant_data -f plant_data.psql<\/em><\/p>\n<p style=\"text-align: justify;\">Sua base de dados ser\u00e1 importada para o banco de dados Postgres.<\/p>\n<p style=\"text-align: justify;\"><strong>Conclus\u00e3o<\/strong><br \/>\nEsse \u00e9 um processo simples e f\u00e1cil de migrar de um banco de dados de MySQL para Postgres, sem complica\u00e7\u00f5es.<\/p>\n<p style=\"text-align: justify;\">Outras maneiras de realizar o mesmo procedimento s\u00e3o oferecidos e podem ser sugeridos nos coment\u00e1rios abaixo. Esse procedimento foi utilizado para migrar uma modesta base de dados de 6 GB com sucesso e atendeu \u00e0s necessidades para o momento.<\/p>\n<p style=\"text-align: justify;\">Sobre o autor Jos\u00e9 Cleydson Ferreira Silva, possui mestrado em Ci\u00eancia da Computa\u00e7\u00e3o e atualmente doutorando em Gen\u00e9tica e Melhoramento pela Universidade Federal de Vi\u00e7osa\/UFV. \u00c9 usu\u00e1rio do Linux por filosofia.<\/p>\n<p style=\"text-align: center;\">[<a href=\"javascript:history.go(-1)\">Voltar<\/a>]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Postgres \u00e9 um sistema de gerenciamento de banco de dados com \u00eanfase na extensibilidade e na conformidade de padr\u00f5es. Como servidor de banco de dados, suas principais fun\u00e7\u00f5es s\u00e3o armazenar dados de forma segura e devolver esses dados em resposta a solicita\u00e7\u00f5es de outros aplicativos de software. MySQL \u00e9 um sistema extensivamente utilizado, no entanto, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-31515","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts\/31515","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=31515"}],"version-history":[{"count":1,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts\/31515\/revisions"}],"predecessor-version":[{"id":31516,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts\/31515\/revisions\/31516"}],"wp:attachment":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=31515"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=31515"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=31515"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}