首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Windows上构建或安装pg_loader

在Windows上构建或安装pg_loader
EN

Stack Overflow用户
提问于 2016-08-03 18:14:21
回答 2查看 11.9K关注 0票数 12

我正在Windows 7笔记本电脑上运行PostgreSQL 9.6,该笔记本由企业IT部门严格管理。我在这台笔记本电脑上没有管理权限,但可以通过通过BeyondTrust授予的提升权限来完成“许多”事情,包括软件安装。

我使用这个数据库从不同的来源导入一些中型数据集,并进行一些深入的分析和报告。这些数据集在编码和格式方面有着疯狂的变化,这在导入它们时带来了挑战。对于一个数据集,我首先将其导入MySQL,从数据中剥离违规字符,再将其导出到CSV,最后将清理后的数据导入PostgreSQL。

作为一个实验,我在运行PostgreSQL 10.12的家庭iMac上安装了macOS 9.6和pg_loader,并且它能够导入所有的数据集,没有问题。

考虑到所有这些作为背景,我需要使用pg_loader导入各种数据集。但是,该网站既不提供Windows安装程序,也不提供在Windows上编译它的说明。

谁能指出我的方向之一,其中之一,从最理想的名单到最不想要的?

  1. pg_loader的Windows安装程序
  2. 类似于pg_loader的Windows安装程序
  3. 在Windows上编译pg_loader的详细说明
  4. 关于在导入之前使用Python清理数据的建议(注意:我对Python的经验很少)
EN

回答 2

Stack Overflow用户

发布于 2019-12-17 08:24:20

您可以安装Linux下的Windows子系统,安装Linux发行版,然后用apt或其他包管理器安装pgloader

代码语言:javascript
运行
复制
$ sudo apt install pgloader
$ pgloader --version

pgloader version "3.4.1"
compiled with SBCL 1.3.3.debian

$ cd /mnt/c/Users/bburns/Desktop
$ pgloader ....
票数 11
EN

Stack Overflow用户

发布于 2018-12-18 23:56:09

这个解决方案可能来得有点晚,但对于那些仍然在寻找windows解决方案的人来说。我可以确认我能够使用让pgloader工作。

我的环境是在Windows10PC上安装本地MySQL。我为Windows安装了Docker。然后,我通过docker安装了PostgreSQL:docker run --name some-postgres -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres

最后,我通过docker运行pg加载程序,使用下面的docker run --rm --name pgloader dimitri/pgloader:latest pgloader mysql://root:root@host.docker.internal/my_db_name pgsql://postgres:mysecretpassword@host.docker.internal/postgres将模式和数据从mysql提取到postgres:

这在postgres实例上创建了一个名为"my_db_name“的模式。"root:root“和”postgres:my秘密码“是我的用户名:密码详细信息。这显然是一个生产准备环境!另一个有用的位"host.docker.internal“是docker对父主机环境的引用。另外,我忽略了SBCL警告。

我还在处理结果。大多数事情看起来都是成功迁移的。我缺少触发器(不支持)和一些外键(bug?)。不管怎样,我希望这能对其他人有所帮助。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38750898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档