Commit aa2ba50
committed
Add CSV table output mode in psql.
"\pset format csv", or --csv, selects comma-separated values table format.
This is compliant with RFC 4180, except that we aren't too picky about
whether the record separator is LF or CRLF; also, the user may choose a
field separator other than comma.
This output format is directly compatible with the server's COPY CSV
format, and will also be useful as input to other programs. It's
considerably safer for that purpose than the old recommendation to
use "unaligned" format, since the latter couldn't handle data
containing the field separator character.
Daniel Vérité, reviewed by Fabien Coelho and David Fetter, some
tweaking by me
Discussion: https://postgr.es/m/a8de371e-006f-4f92-ab72-2bbe3ee78f03@manitou-mail.org1 parent 9a98984 commit aa2ba50
File tree
10 files changed
+402
-34
lines changed- doc/src/sgml/ref
- src
- bin/psql
- fe_utils
- include/fe_utils
- test/regress
- expected
- sql
10 files changed
+402
-34
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
72 | | - | |
| 71 | + | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
154 | 164 | | |
155 | 165 | | |
156 | 166 | | |
| |||
270 | 280 | | |
271 | 281 | | |
272 | 282 | | |
273 | | - | |
274 | | - | |
| 283 | + | |
| 284 | + | |
275 | 285 | | |
276 | 286 | | |
277 | 287 | | |
| |||
2520 | 2530 | | |
2521 | 2531 | | |
2522 | 2532 | | |
| 2533 | + | |
| 2534 | + | |
| 2535 | + | |
| 2536 | + | |
| 2537 | + | |
| 2538 | + | |
| 2539 | + | |
| 2540 | + | |
| 2541 | + | |
| 2542 | + | |
| 2543 | + | |
| 2544 | + | |
| 2545 | + | |
2523 | 2546 | | |
2524 | 2547 | | |
2525 | 2548 | | |
| |||
2547 | 2570 | | |
2548 | 2571 | | |
2549 | 2572 | | |
2550 | | - | |
2551 | | - | |
| 2573 | + | |
| 2574 | + | |
2552 | 2575 | | |
2553 | 2576 | | |
2554 | 2577 | | |
| |||
2585 | 2608 | | |
2586 | 2609 | | |
2587 | 2610 | | |
2588 | | - | |
2589 | | - | |
| 2611 | + | |
| 2612 | + | |
| 2613 | + | |
| 2614 | + | |
2590 | 2615 | | |
2591 | 2616 | | |
2592 | 2617 | | |
2593 | 2618 | | |
2594 | 2619 | | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
2595 | 2624 | | |
2596 | 2625 | | |
2597 | 2626 | | |
2598 | | - | |
2599 | | - | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
| 2630 | + | |
| 2631 | + | |
2600 | 2632 | | |
2601 | 2633 | | |
2602 | | - | |
2603 | | - | |
| 2634 | + | |
| 2635 | + | |
| 2636 | + | |
| 2637 | + | |
| 2638 | + | |
| 2639 | + | |
| 2640 | + | |
| 2641 | + | |
| 2642 | + | |
| 2643 | + | |
| 2644 | + | |
| 2645 | + | |
| 2646 | + | |
| 2647 | + | |
| 2648 | + | |
| 2649 | + | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
2604 | 2653 | | |
2605 | 2654 | | |
2606 | 2655 | | |
| |||
2620 | 2669 | | |
2621 | 2670 | | |
2622 | 2671 | | |
2623 | | - | |
2624 | | - | |
| 2672 | + | |
| 2673 | + | |
| 2674 | + | |
| 2675 | + | |
| 2676 | + | |
| 2677 | + | |
2625 | 2678 | | |
2626 | 2679 | | |
2627 | 2680 | | |
| |||
4588 | 4641 | | |
4589 | 4642 | | |
4590 | 4643 | | |
4591 | | - | |
4592 | | - | |
4593 | | - | |
4594 | | - | |
| 4644 | + | |
| 4645 | + | |
4595 | 4646 | | |
4596 | | - | |
| 4647 | + | |
4597 | 4648 | | |
4598 | 4649 | | |
4599 | 4650 | | |
4600 | 4651 | | |
4601 | 4652 | | |
| 4653 | + | |
| 4654 | + | |
| 4655 | + | |
| 4656 | + | |
| 4657 | + | |
| 4658 | + | |
| 4659 | + | |
| 4660 | + | |
| 4661 | + | |
4602 | 4662 | | |
4603 | 4663 | | |
4604 | 4664 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1957 | 1957 | | |
1958 | 1958 | | |
1959 | 1959 | | |
1960 | | - | |
1961 | | - | |
| 1960 | + | |
| 1961 | + | |
1962 | 1962 | | |
1963 | 1963 | | |
1964 | 1964 | | |
| |||
3616 | 3616 | | |
3617 | 3617 | | |
3618 | 3618 | | |
| 3619 | + | |
| 3620 | + | |
| 3621 | + | |
3619 | 3622 | | |
3620 | 3623 | | |
3621 | 3624 | | |
| |||
3696 | 3699 | | |
3697 | 3700 | | |
3698 | 3701 | | |
| 3702 | + | |
3699 | 3703 | | |
3700 | 3704 | | |
3701 | 3705 | | |
| |||
3737 | 3741 | | |
3738 | 3742 | | |
3739 | 3743 | | |
3740 | | - | |
| 3744 | + | |
3741 | 3745 | | |
3742 | 3746 | | |
3743 | 3747 | | |
| |||
3836 | 3840 | | |
3837 | 3841 | | |
3838 | 3842 | | |
| 3843 | + | |
| 3844 | + | |
| 3845 | + | |
| 3846 | + | |
| 3847 | + | |
| 3848 | + | |
| 3849 | + | |
| 3850 | + | |
| 3851 | + | |
| 3852 | + | |
| 3853 | + | |
| 3854 | + | |
| 3855 | + | |
| 3856 | + | |
| 3857 | + | |
| 3858 | + | |
| 3859 | + | |
| 3860 | + | |
| 3861 | + | |
| 3862 | + | |
3839 | 3863 | | |
3840 | 3864 | | |
3841 | 3865 | | |
| |||
4006 | 4030 | | |
4007 | 4031 | | |
4008 | 4032 | | |
| 4033 | + | |
| 4034 | + | |
| 4035 | + | |
| 4036 | + | |
| 4037 | + | |
| 4038 | + | |
| 4039 | + | |
4009 | 4040 | | |
4010 | 4041 | | |
4011 | 4042 | | |
| |||
4207 | 4238 | | |
4208 | 4239 | | |
4209 | 4240 | | |
| 4241 | + | |
| 4242 | + | |
4210 | 4243 | | |
4211 | 4244 | | |
4212 | 4245 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| 111 | + | |
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
| |||
167 | 168 | | |
168 | 169 | | |
169 | 170 | | |
170 | | - | |
| 171 | + | |
171 | 172 | | |
172 | 173 | | |
173 | 174 | | |
| |||
272 | 273 | | |
273 | 274 | | |
274 | 275 | | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
280 | 282 | | |
281 | 283 | | |
282 | 284 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
147 | 150 | | |
148 | 151 | | |
149 | 152 | | |
| |||
468 | 471 | | |
469 | 472 | | |
470 | 473 | | |
| 474 | + | |
471 | 475 | | |
472 | 476 | | |
473 | 477 | | |
| |||
658 | 662 | | |
659 | 663 | | |
660 | 664 | | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
661 | 668 | | |
662 | 669 | | |
663 | 670 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2605 | 2605 | | |
2606 | 2606 | | |
2607 | 2607 | | |
| 2608 | + | |
2608 | 2609 | | |
2609 | 2610 | | |
2610 | 2611 | | |
| |||
3524 | 3525 | | |
3525 | 3526 | | |
3526 | 3527 | | |
3527 | | - | |
| 3528 | + | |
3528 | 3529 | | |
3529 | 3530 | | |
3530 | 3531 | | |
| |||
3536 | 3537 | | |
3537 | 3538 | | |
3538 | 3539 | | |
3539 | | - | |
| 3540 | + | |
3540 | 3541 | | |
3541 | 3542 | | |
3542 | 3543 | | |
| |||
0 commit comments