我将查询(应用程序pgAdmin)的每个结果复制到Google Doc's Sheet中。 我很想知道是否可以将Postgress设置为插入Tab而不是分号(;)来分隔列中的值 - 我只想将其从postgres复制并粘贴到Google Doc的工作表中。
如果不可能,有没有办法在Google Doc的表格中写一个宏?
我想再问一个问题 - 如何通过使用select命令来划分我得到的两个值(以及如何从Postgres SQL要求存储值,例如double)?
答案 0 :(得分:4)
使用export能力。
答案 1 :(得分:4)
现在可以将PgAdmin配置为使用Tab作为字段分隔符进行复制/粘贴,而不是;
从PgAdmin MAIN窗口:
您可能必须重新启动PgAdmin才能使其生效。适用于直接粘贴到Google电子表格中!
关于你的除法问题,如果你只是将这两个数字分开,你可能并不总是得到你所期望的 - 整数不会自动划分并成为浮动结果 - 你必须抛出它们:
select 1::numeric/2::numeric
返回0.50
鉴于:
select 1/2
返回0(通常不是你想要的)
答案 2 :(得分:1)
也许这样的事情可能有用:)
select relname || chr(9) || reltype || chr(9) || relam from pg_class
答案 3 :(得分:1)
psql
可以通过多种方式实现这一目标:
% psql -At -F, -c 'SELECT * FROM my_table'
1,login,http://stackjet.com/login
2,mod3,https://127.0.0.1:5000/mod3/
3,mod2,http://127.0.0.1:5000/mod2/
4,logout,https://127.0.0.1:5000/logout
转义是该方案的问题。 COPY
是你的朋友。
答案 4 :(得分:1)
将COPY
或\copy
的输出保存为.tsv
文件,并使用文件/导入加载该文件。或者,您也可以使用CSV格式。
答案 5 :(得分:1)
在PGAdmin 4中,您可以通过执行sql查询然后按F8来实现此目的,它将导出查询结果。
步骤2:现在选择查询结果,然后单击CSV格式的下载查询结果,如下所示:
第3步:验证查询结果
你已经完成了。
答案 6 :(得分:1)
由于JDBC within Apps Script尚未支持Postgres(由于某种原因),因此您无法直接在Google表格中编写此脚本。你绝对可以编写这个the Google Sheets API脚本和你选择的语言(例如Python和Pandas使这个任务相对简单)。
如果您不想推出自己的解决方案,请查看SeekWell。它允许您直接在Sheets中连接到数据库并编写SQL查询。您可以创建一个运行“运行表”,它将同时运行多个查询,并安排这些查询运行,而无需打开工作表。
免责声明:我做到了。
答案 7 :(得分:1)
不幸的是,宏并没有这样做。如果要编写自己的脚本,则必须使用应用程序脚本,但是应用程序脚本JDBC不支持postgres,因此必须构建自己的查询服务器。
您还可以使用Castodia,Seekwell和Kpibees之类的插件。您可以找到它们here
如果要与工作表同步数据库数据,然后更改该数据,最好的选择是添加单独的列并使用公式(例如:= A1 / 2)。如果您使用的是插件,则可能需要先检查数据的更新方式,以免覆盖所有列。自从我工作以来,我只能为Castodia插件发言。更新工作表时,它只会更新包含数据的列。因此,如果您有“年龄,职业,收入”列,它将仅覆盖这3列,因此可以安全地用公式添加列。
列的数据类型存储在Postgres数据库中,因此,如果将数据存储为文本,则它将以文本形式返回。但是,您可以将列设置为工作表中的特定类型。选择您的列,转到“格式”,然后选择“数字”。之后,当数据更新时,列将保持所需的格式,除非更新工作表的脚本也更改了列格式,所以请确保首先检查该格式。 Castodia脚本不会更改列格式,因此此解决方案应至少与一个插件一起使用。
答案 8 :(得分:-1)
我会使用vanilla SQL执行插入/插值,然后使用QueryClips之类的工具将您的数据导入Google工作表。