The current code use GDAL to upload vector data. It is first called to identify if the uploaded files are in geospatial format (which Shapefile is). For shapefiles, the code explicitly only upload files ending with .shp to avoid uploading other files as another layer.
This prevents uploading a shapefile without geometry e.g. a .dbf file, even when this file is uploaded as "tabular".
Potential solution: refine logics of GDALClient.uploadVectorFilesToPostGIS().