我在装有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仿生)服务器,所以我做了以下操作:
- 使用以下命令将我的数据库转储到扩展名为.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
-
输入您的密码,它将在上述文件夹中创建备份。
-
连接到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