ST_Volume
Name
ST_Volume — Computes the volume of a 3D solid. If applied to surface (even closed) geometries will return 0.
Synopsis
    
     float
     
      ST_Volume
     
     (
    
    geometry
    
     geom1
    
    
     )
    
    ;
   
Description
Availability: 2.2.0
   
    
   
   This method needs SFCGAL backend.
  
   
    
   
   This function supports 3d and will not drop the z-index.
  
   
    
   
   This function supports Polyhedral surfaces.
  
   
    
   
   This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).
  
   
    
   
   This method implements the SQL/MM specification. SQL-MM IEC 13249-3: 9.1 (same as ST_3DVolume)
  
Example
When closed surfaces are created with WKT, they are treated as areal rather than solid. To make them solid, you need to use ST_MakeSolid . Areal geometries have no volume. Here is an example to demonstrate.
SELECT ST_Volume(geom) As cube_surface_vol,
	ST_Volume(ST_MakeSolid(geom)) As solid_surface_vol
  FROM (SELECT 'POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
    ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)),
    ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
    ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),
    ((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)),
    ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) )'::geometry) As f(geom);
 cube_surface_vol | solid_surface_vol
------------------+-------------------
                0 |                 1