在 PHP 中导出 PSQL table
Export a PSQL table in PHP
我在 psql 中有一种语言 table 看起来像这样。
我的目标是导出我的 languages
table 并使用 PHP.
导入它
我试过了
PHP
导出
shell_exec('psql -E -U postgres -d portal -c "COPY languages TO \'/Applications/MAMP/htdocs/code/site/portal/public/csv/languages.csv\' DELIMITER \',\' "');
我的 languages.csv
导出成功了。
如果我打开它,它包含这个。
1,h,Advanced Settings,Geavanceerde instellingen,Ajustes avanzados,Réglages avancés,2016-11-23 14:41:25,2016-11-23 14:41:25
我的目标是让我的 .csv
完全采用这种格式
1,'h','Advanced Settings','Geavanceerde instellingen','Ajustes avanzados','Réglages avancés','2016-11-23 14:41:25','2016-11-23 14:41:25'
因为只有 格式才能 接受 psql
。
问题
如何调整我的 psql 命令来获得它?
或
使用 PHP 更新它是我唯一的选择?
看起来 COPY
上的 FORCE_QUOTE
选项可以使用要换行的列列表。看这里:SQL COPY
FORCE_QUOTE { ( column_name [, ...] ) | * }
这意味着您可以指定或它默认执行所有操作,您可能需要指定,因为您的 id
列未在您的示例中包含引号。
我在 psql 中有一种语言 table 看起来像这样。
我的目标是导出我的 languages
table 并使用 PHP.
我试过了
PHP
导出
shell_exec('psql -E -U postgres -d portal -c "COPY languages TO \'/Applications/MAMP/htdocs/code/site/portal/public/csv/languages.csv\' DELIMITER \',\' "');
我的 languages.csv
导出成功了。
如果我打开它,它包含这个。
1,h,Advanced Settings,Geavanceerde instellingen,Ajustes avanzados,Réglages avancés,2016-11-23 14:41:25,2016-11-23 14:41:25
我的目标是让我的 .csv
完全采用这种格式
1,'h','Advanced Settings','Geavanceerde instellingen','Ajustes avanzados','Réglages avancés','2016-11-23 14:41:25','2016-11-23 14:41:25'
因为只有 格式才能 接受 psql
。
问题
如何调整我的 psql 命令来获得它?
或
使用 PHP 更新它是我唯一的选择?
看起来 COPY
上的 FORCE_QUOTE
选项可以使用要换行的列列表。看这里:SQL COPY
FORCE_QUOTE { ( column_name [, ...] ) | * }
这意味着您可以指定或它默认执行所有操作,您可能需要指定,因为您的 id
列未在您的示例中包含引号。