如何将数据从Windows上的postgres移动到Linux(Ubuntu)上的post格雷斯



我在装有Windows操作系统的机器上有Postgres DB,也有装有Linux(Ubuntu)的虚拟机。我需要将数据从Windows移动到Linux。提前感谢!

您可以使用以下查询将数据库从一台服务器恢复到另一台

pg_dump -C -h SourceServer -U SourceUser  SourceDB | psql -h TargetHost -U TargetUser  TargetDB

密码可以从pgpass.conf 中使用

我不得不将数据库从本地机器(Windows 11)转移到Linux(Ubuntu仿生)服务器,所以我做了以下操作:

  1. 使用以下命令将我的数据库转储到扩展名为.sql的备份文件中
  • 打开终端

  • 转到安装postgresql的文件夹,在我的情况下是

    C:Program FilesPostgreSQL14bin
    
  • 在终端写入

    cd C:Program FilesPostgreSQL14bin
    
  • 键入以下命令,将<数据库名称>并且<文件夹名称>根据需要,然后按enter键。

    pg_dump.exe -U postgres -d <db_name> -f D:<folder_name><db_name>.sql
    
  • 输入您的密码,它将在上述文件夹中创建备份。


  1. 连接到Linux服务器并复制<数据库名称>。sql文件

    scp  D:<folder_name><db_name>.sql  username@ip_address:/<destination_folder>
    

  • 在服务器上安装postgresql

    sudo apt-get install postgresql postgresql-contrib
    
    • 检查状态

      service postgresql status
      
    • 创建数据库

      sudo su postgres
      psql -U postgres -c “create database <db_name>”
      
    • 将数据从转储文件导入此新数据库。

      psql db_name < /path/db_name.sql
      

    最新更新