{"id":15645,"date":"2025-06-21T07:29:14","date_gmt":"2025-06-21T07:29:14","guid":{"rendered":"http:\/\/www.withdata.com\/blog\/?p=15645"},"modified":"2026-07-08T17:57:02","modified_gmt":"2026-07-08T17:57:02","slug":"upsert-postgresql-data-from-sql","status":"publish","type":"post","link":"https:\/\/www.withdata.com\/blog\/sqltopostgres\/upsert-postgresql-data-from-sql.html","title":{"rendered":"Upsert data from SQL file to PostgreSQL"},"content":{"rendered":"<p>Want to upsert data from SQL file to  <a href=\"https:\/\/www.postgresql.org\/\">PostgreSQL<\/a> ?<\/p>\n<p>Upsert: inserts rows into a table if they do not already exist, or updates them if they do.<\/p>\n<p>Try Withdata <a href=\"https:\/\/www.withdata.com\/file-to-db\/\">FileToDB<\/a>, a SQL file to PostgreSQL converter, Upsert data from SQL file to PostgreSQL, Easy and Fast.<\/p>\n<ul>\n<li>Can run in <span id=\"gui\">GUI<\/span> mode, <a href=\"#convert\">Step by Step<\/a>, just a few mouse clicks.<\/li>\n<li>Can run in <a href=\"\/tools\/file-to-db\/sql-to-postgres-cmd\" target=\"_blank\">Command line<\/a>, for <a href=\"\/tools\/file-to-db\/sql-to-postgres-task\" target=\"_blank\">Scheduled Tasks<\/a> and Streams.<\/li>\n<li>Import SQL to PostgreSQL locally and <b>privately<\/b>, avoid uploading SQL file(s) to online services.<\/li>\n<li>Support <a href=\"\/tools\/file-to-db\/sql-to-postgres-windows\" target=\"_blank\">Windows<\/a>, <a href=\"\/tools\/file-to-db\/sql-to-postgres-linux\" target=\"_blank\">Linux<\/a>, and <a href=\"\/tools\/file-to-db\/sql-to-postgres-macos\" target=\"_blank\">macOS<\/a>.<\/li>\n<\/ul>\n<p><a href=\"#download-top\" onclick=\"dtv.style.display = 'block';\">Download Withdata FileToDB<\/a>  <a href=\"#download-top\" onclick=\"dtv.style.display = 'block';\"><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/download_3.jpg\" alt=\"Download FileToDB\" width=\"80\" height=\"22\" style=\"max-width:100%;height:auto;\" \/><\/a> <span id=\"dtv\" style=\"display: none;\"><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=win64\">Windows 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=win32\">Windows 32 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=deb\">Linux .deb (For Debian, Ubuntu) 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=rpm\">Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=pkg\">MacOS 64 bit<\/a><br \/>\n<\/span><\/p>\n<h2>Upsert data from SQL file to PostgreSQL<\/h2>\n<p> Choose PostgreSQL and logon.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/logon\/choose_postgresql_logon.png\" alt=\"convert SQL file to PostgreSQL table - Choose PostgreSQL and logon\" width=\"430\" height=\"441\" style=\"max-width:100%;height:auto;display:block;\" \/><\/p>\n<p> Click &#8220;Wizard &#8211; 1 File To 1 Table&#8221; at task dialog.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/task-window.png\" alt=\"convert SQL file to PostgreSQL table - task window\" width=\"722\" height=\"399\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\" \/><\/p>\n<p> Select the &#8220;SQL&#8221; file type.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/select-file-type-sql.png\" ALT=\"Import file data to database table - select file type\" width=\"596\" height=\"236\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<p>then show the wizard.<\/p>\n<h3>1. Open a SQL file.<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/wizard-import-file-source-file-sql.png\" ALT=\"Upsert Data From SQL To PostgreSQL - open SQL file\" width=\"722\" height=\"572\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<h3>2. Select a table and config fields.<\/h3>\n<p>Set &#8220;Load Type&#8221; to &#8220;Upsert&#8221;, choice &#8220;By Key&#8221;.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/wizard-upsert-dest-table.png\" ALT=\"Upsert Data From SQL To PostgreSQL - select table\" width=\"722\" height=\"572\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<h3>3. Preview data.<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/wizard-import-preview-sql.png\" ALT=\"Upsert Data From SQL To PostgreSQL - preview\" width=\"722\" height=\"572\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<h3>4. Upsert SQL data to PostgreSQL.<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/file-to-db\/wizard-import-convert-sql.png\" ALT=\"Upsert Data From SQL To PostgreSQL - import data\" width=\"722\" height=\"572\" style=\"max-width:100%;height:auto;display:block;\" loading=\"lazy\" decoding=\"async\"><\/p>\n<hr style=\"clear: both;\" \/>\n<p>More about <a href=\"\/tools\/file-to-db\/sql-to-postgres\">SQL file to PostgreSQL converter<\/a><\/p>\n<div id=\"download-bottom\" style=\"clear: both;\">\n<p>Download Withdata FileToDB<a href=\"#download-bottom\" onclick=\"dbv.style.display = 'block';\"><img decoding=\"async\" src=\"https:\/\/www.withdata.com\/images\/btn_download_green.png\" alt=\"Download FileToDB\" width=\"165\" height=\"50\" style=\"max-width:100%;height:auto;\" loading=\"lazy\" decoding=\"async\" \/><\/a> <span id=\"dbv\" style=\"display: none;\"><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=win64\">Windows 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=win32\">Windows 32 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=deb\">Linux .deb (For Debian, Ubuntu) 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=rpm\">Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit<\/a><br \/>\n<a href=\"\/download.php?app=FileToDB&#038;ver=pkg\">MacOS 64 bit<\/a><br \/>\n<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Want to upsert data from SQL file to PostgreSQL ? Upsert: inserts rows into a table if they do not already exist, or updates them if they do. Try Withdata FileToDB, a SQL file to PostgreSQL converter, Upsert data from SQL file to PostgreSQL, Easy and Fast. Can run in GUI mode, Step by Step, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3222],"tags":[1370,67,428],"class_list":["post-15645","post","type-post","status-publish","format-standard","hentry","category-sqltopostgres","tag-postgresql","tag-sql","tag-upsert"],"_links":{"self":[{"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/posts\/15645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/comments?post=15645"}],"version-history":[{"count":3,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/posts\/15645\/revisions"}],"predecessor-version":[{"id":41366,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/posts\/15645\/revisions\/41366"}],"wp:attachment":[{"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/media?parent=15645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/categories?post=15645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.withdata.com\/blog\/wp-json\/wp\/v2\/tags?post=15645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}