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).
  
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