apps/docs/content/guides/platform/migrating-to-supabase/mssql.mdx
This guide aims to demonstrate the process of transferring your Microsoft SQL Server database to Supabase's Postgres database. Supabase is a powerful and open-source platform offering a wide range of backend features, including a Postgres database, authentication, instant APIs, edge functions, real-time subscriptions, and storage. Migrating your MSSQL database to Supabase's Postgres enables you to leverage Postgres's capabilities and access all the features you need for your project.
Before you begin the migration, you need to collect essential information about your MSSQL database. Follow these steps:
If you're new to Supabase, create a project. Make a note of your password, you will need this later. If you forget it, you can reset it here.
On your project dashboard, click Connect
Under the Session pooler, click on the View parameters under the connect string. Note your Host ($SUPABASE_HOST).
The fastest way to migrate your database is with the Supabase migration tool on Google Colab.
Alternatively, you can use pgloader, a flexible and powerful data migration tool that supports a wide range of source database engines, including MySQL and MS SQL, and migrates the data to a Postgres database. For databases using the Postgres engine, we recommend using the pg_dump and psql command line tools, which are included in a full Postgres installation.
<Tabs scrollable size="small" type="underlined" defaultActiveId="colab" queryGroup="migrate-method"
<TabPanel id="colab" label="Migrate using Colab">
HOST, USER, SOURCE_DB,PASSWORD, SUPABASE_URL, and SUPABASE_PASSWORD) in the Colab notebook.Install pgloader.
Create a configuration file (e.g., config.load).
For your destination, use your Supabase connection string with Use connection pooling enabled, and the mode set to Session. You can get the string from your Database Settings.
LOAD DATABASE
FROM mssql://USER:PASSWORD@HOST/SOURCE_DB
INTO postgres://postgres.xxxx:password@xxxx.pooler.supabase.com:5432/postgres
ALTER SCHEMA 'public' OWNER TO 'postgres';
set wal_buffers = '64MB', max_wal_senders = 0, statement_timeout = 0, work_mem to '2GB';
Run the migration with pgloader
pgloader config.load
<$Partial path="migration_warnings.mdx" />
Contact us if you need more help migrating your project.