OGR is not able to handle properly feature types with multiple geometries.
In the specific case of a Postgis table with 4 geometry columns we do have the following output:
ogrinfo -so PG:"host=localhost port=5432 user=myuser
password=mystery dbname=tiger2005fe" major_roads
INFO: Open of `PG:host=localhost port=5432 user=myuser password=mystery dbname=tiger2005fe' using driver `PostgreSQL' successful.
Layer name: major_roads
Geometry: Unknown (any)
Feature Count: 105628
Extent: (-170.837387, -14.377902) - (144.914001, 66.922287)
Layer SRS WKT:
(unknown)
Geometry Column = gen_full
fid: Integer (0.0)
interstate: Integer (0.0)
othername: String (0.0)
state: String (0.0)
statehighway: Integer (0.0)
ushighway: Integer (0.0)
Layer name: major_roads
Geometry: Unknown (any)
Feature Count: 105628
Extent: (-170.837387, -14.377902) - (144.914001, 66.922287)
Layer SRS WKT:
(unknown)
Geometry Column = gen_full
fid: Integer (0.0)
interstate: Integer (0.0)
othername: String (0.0)
state: String (0.0)
statehighway: Integer (0.0)
ushighway: Integer (0.0)
Layer name: major_roads
Geometry: Unknown (any)
Feature Count: 105628
Extent: (-170.837387, -14.377902) - (144.914001, 66.922287)
Layer SRS WKT:
(unknown)
Geometry Column = gen_full
fid: Integer (0.0)
interstate: Integer (0.0)
othername: String (0.0)
state: String (0.0)
statehighway: Integer (0.0)
ushighway: Integer (0.0)
Layer name: major_roads
Geometry: Unknown (any)
Feature Count: 105628
Extent: (-170.837387, -14.377902) - (144.914001, 66.922287)
Layer SRS WKT:
(unknown)
Geometry Column = gen_full
fid: Integer (0.0)
interstate: Integer (0.0)
othername: String (0.0)
state: String (0.0)
statehighway: Integer (0.0)
ushighway: Integer (0.0)
whilst the table definition is:
tiger2005fe=# \d major_roads
Table "public.major_roads"
Column | Type | Modifiers
--------------+----------+-----------------------------------------------------------
state | text |
gen_full | geometry |
gen_1 | geometry |
gen_2 | geometry |
gen_3 | geometry |
interstate | integer |
ushighway | integer |
statehighway | integer |
othername | text |
fid | integer | not null default nextval('major_roads_fid_seq'::regclass)
Indexes:
"fid_pkey" PRIMARY KEY, btree (fid)
"major_roads_spatial_ind" gist (gen_full)
"major_roads_spatial_ind1" gist (gen_1)
"major_roads_spatial_ind2" gist (gen_2)
"major_roads_spatial_ind3" gist (gen_3)