使用导入和导出功能迁移 PostgreSQL 数据库Migrate your PostgreSQL database using export and import

可以使用 pg_dump 将 PostgreSQL 数据库解压到脚本文件,并使用 psql 将数据从该文件导入目标数据库。You can use pg_dump to extract a PostgreSQL database into a script file and psql to import the data into the target database from that file.

必备条件Prerequisites

若要逐步执行本操作方法指南,需要:To step through this how-to guide, you need:

请按照下列步骤导出和导入 PostgreSQL 数据库。Follow these steps to export and import your PostgreSQL database.

使用 pg_dump 创建包含要加载的数据的脚本文件Create a script file using pg_dump that contains the data to be loaded

若要将本地或 VM 中现有的 PostgreSQL 数据库导出到 sql 脚本文件中,请在现有环境中运行以下命令:To export your existing PostgreSQL database on-premises or in a VM to a sql script file, run the following command in your existing environment:

pg_dump --host=<host> --username=<name> --dbname=<database name> --file=<database>.sql

例如,如果有一个本地服务器,并且该服务器中包含一个名为 testdb 的数据库 :For example, if you have a local server and a database called testdb in it:

pg_dump --host=localhost --username=masterlogin --dbname=testdb --file=testdb.sql

导入目标 Azure Database for PostgreSQL 上的数据Import the data on target Azure Database for PostgreSQL

可以使用 psql 命令行和 --dbname 参数 (-d) 将数据导入 Azure Database for PostgreSQL 服务器,并加载 sql 文件中的数据。You can use the psql command line and the --dbname parameter (-d) to import the data into the Azure Database for PostgreSQL server and load data from the sql file.

psql --file=<database>.sql --host=<server name> --port=5432 --username=<user@servername> --dbname=<target database name>

此示例使用 psql 实用程序和前一步骤中名为 testdb.sql 的脚本文件,将数据导入到目标服务器 mydemoserver.postgres.database.chinacloudapi.cn 上的数据库 mypgsqldb 中。This example uses psql utility and a script file named testdb.sql from previous step to import data into the database mypgsqldb on the target server mydemoserver.postgres.database.chinacloudapi.cn.

psql --file=testdb.sql --host=mydemoserver.postgres.database.chinacloudapi.cn --port=5432 --username=mylogin@mydemoserver --dbname=mypgsqldb

后续步骤Next steps