有没有办法将 postgres 表数据作为 json 导出到文件?我需要逐行输出,例如:
{'id':1,'name':'David'}
{'id':2,'name':'James'}
...
Run Code Online (Sandbox Code Playgroud)
编辑:postgres 版本:9.3.4
我一直在做我的SQL Server 2014 Express数据库的备份导入到其他服务器,发现两者之间的文件大小的差异.bacpac和.bak。
为什么一个.bacpac文件比.bak同一个数据库的文件那么小?
感谢您的任何见解!
我是 Oracle 菜鸟,我的目的是将所有数据和元数据从一个架构传输到 Oracle 数据库中的另一个架构。我打算使用数据泵expdp和impdp命令。我对此有疑问:
expdp和impdp命令吗?这是首选方法吗?该语句是否从模式中获取所有对象(数据和元数据)并将它们移动到不同的模式中?
expdp \"/ as sysdba\" schemas=<schemaname> directory=dumpdir dumpfile=<schemaname>.dmp logfile=expdp_<schemaname>.log
Run Code Online (Sandbox Code Playgroud)
那么目标模式是impdp命令后源模式的精确副本吗?
在使用 mysqldump 之类的东西之前,如何确定或估计 SQL 转储文件的大小?
我在 mysqldump 上玩了一会儿,我想知道它是否默认导出索引 ( FULLTEXT, INDEX,...)。我阅读了它,我找到了这个选项:
--disable-keys, -K
Run Code Online (Sandbox Code Playgroud)
这表明,它实际上确实导出了索引。但我不想相信我的解释,我想确保我做对了(或错了;-))。任何人都可以确认吗?
我对远程服务器上的数据库具有只读访问权限。所以,我可以执行:
COPY products TO '/tmp/products.csv' DELIMITER ',';
Run Code Online (Sandbox Code Playgroud)
但是在该服务器上我没有创建/保存文件的权限,所以我需要在我的本地机器上执行此操作。
当我连接到远程数据库时,如何执行命令将文件保存在本地计算机而不是远程服务器上?
或者,如何执行 Linux 命令以连接到远程数据库、执行查询并将输出作为文件保存到我的本地计算机?
我需要从 Oracle 11g 第 1 版数据库中检索某些数据并将其作为一个或多个 CSV 文件提供。数据驻留在多个表和/或视图中。所有这些都应该通过命令行工作。什么是最好的方法?
我将拥有一个 SQL Server 2012 数据库和一个包含 300 万行和 50 列的表。无人值守后台 .net 进程(可能发出一些 SQL 或 Powershell 命令)将其导出到文本文件的最快方法是什么,每行数据一行?.net 进程应该知道导出何时完成或是否有任何错误。数据类型将为 allint或nvarchar。
我假设纯 C# 代码使用 ado.net 执行select *命令并循环遍历数据读取器并为每个记录写入文件会很慢,我无法并行化它。
理想情况下,将导出到远程共享网络文件夹,而不是 SQL Server 计算机上的本地文件夹。SQL Server 将是一个 HA 群集。SSIS 是否更适合于此,不需要数据转换?
.Net 进程将在机器 A 上运行,在机器 B 上运行 SQL Server,最终文件目的地是网络共享。一种选择是 SQL 服务器将文件直接写入网络共享。另一个选项是 SQL Server 写入机器 A,然后在写入文件时,.net 进程将其复制到网络共享。我没有正式的 SLA,但预计文件写入需要 30 分钟 - 1 小时。
export ×10
mysql ×4
mysqldump ×4
backup ×3
import ×2
oracle ×2
postgresql ×2
sql-server ×2
command-line ×1
copy ×1
csv ×1
dump ×1
expdp ×1
impdp ×1
index ×1
json ×1
myisam ×1
oracle-11g ×1
schema ×1