mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			894 B
		
	
	
	
		
			MySQL
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			894 B
		
	
	
	
		
			MySQL
		
	
	
	
	
	
/* $PostgreSQL: pgsql/contrib/pg_freespacemap/pg_freespacemap.sql.in,v 1.12 2009/06/10 22:12:28 tgl Exp $ */
 | 
						|
 | 
						|
-- Adjust this setting to control where the objects get created.
 | 
						|
SET search_path = public;
 | 
						|
 | 
						|
 | 
						|
-- Register the C function.
 | 
						|
CREATE OR REPLACE FUNCTION pg_freespace(regclass, bigint)
 | 
						|
RETURNS int2
 | 
						|
AS 'MODULE_PATHNAME', 'pg_freespace'
 | 
						|
LANGUAGE C STRICT;
 | 
						|
 | 
						|
-- pg_freespace shows the recorded space avail at each block in a relation
 | 
						|
CREATE OR REPLACE FUNCTION
 | 
						|
  pg_freespace(rel regclass, blkno OUT bigint, avail OUT int2)
 | 
						|
RETURNS SETOF RECORD
 | 
						|
AS $$
 | 
						|
  SELECT blkno, pg_freespace($1, blkno) AS avail
 | 
						|
  FROM generate_series(0, pg_relation_size($1) / current_setting('block_size')::bigint - 1) AS blkno;
 | 
						|
$$
 | 
						|
LANGUAGE SQL;
 | 
						|
 | 
						|
 | 
						|
-- Don't want these to be available to public.
 | 
						|
REVOKE ALL ON FUNCTION pg_freespace(regclass, bigint) FROM PUBLIC;
 | 
						|
REVOKE ALL ON FUNCTION pg_freespace(regclass) FROM PUBLIC;
 |