Help Center/ Data Warehouse Service/ Troubleshooting/ Database Use/ Error "could not open relation with OID xxxx" Is Reported During Table Size Query
Updated on 2025-04-10 GMT+08:00
Error "could not open relation with OID xxxx" Is Reported During Table Size Query
Symptom
When pg_table_size is used to query the size of a table, the error "could not open relation with OID xxxx" is reported.
Possible Causes
The table does not exist. NULL or an error is returned when the pg_table_size query interface is used.
Solution
- Use the exception method to ignore this error. Return –1 for the tables that do not exist. Execute the following function:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
CREATE OR REPLACE FUNCTION public.pg_t_size(tab_oid OID,OUT retrun_code text) RETURNS text LANGUAGE plpgsql AS $$ DECLARE v_sql text; ts text; BEGIN V_SQL:='select pg_size_pretty(pg_table_size('||tab_oid||'))'; EXECUTE IMMEDIATE V_SQL into ts; IF ts IS NULL THEN RETRUN_CODE:=-1; ELSE return ts; END IF; EXCEPTION WHEN OTHERS THEN RETRUN_CODE:=-1; END$$;
- Run the following commands:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
call public.pg_t_size('1',''); retrun_code ------------- -1 (1 row) select oid from pg_class limit 2; oid ------ 2662 2659 (2 rows) call public.pg_t_size('2662',''); retrun_code ------------- 120 KB (1 row)
Parent topic: Database Use
What is your overall rating for this page?
0
1
2
3
4
5
6
7
8
9
10
Very dissatisfiedVery satisfied
Thank you very much for your feedback. We will continue working to improve the documentation.
The system is busy. Please try again later.