Hi Lee
1 - number of columns is limited by postgresql, cstore_fdw itself does not impose any limits.
2 - there is no preset limit on row size, however, due to how cstore works, active "stripe" has to fit in a work memory. If you are planning to use large rows you may hit out of memory issues. If that happens you can
- reduce number of size in a stripe. Default is 150 000 rows, you should set server option "stripe_row_count" to a lower value when creating cstore table, or
- increase work_mem in postgresql configuration. Depending on how many concurrent connections you want to allow in you server you can even set it to order of GBs.