在PostgreSQL中,我尝试检查表是否存在:
SELECT EXISTS (SELECT * FROM table_name);
它抛出一个错误。如何检查表是否已存在,结果将是布尔值?因为目前我可以通过try-catch(输入捕获,如果不存在)而不是结果上的if-else实现相同...
谢谢,
答案 0 :(得分:1)
其中任何一个都应该有效,但根据您的权限设置方式,您可能无法访问这些表:
SELECT EXISTS (SELECT relname FROM pg_class WHERE relname = 'table_name');
SELECT EXISTS (SELECT table_name FROM information_schema.tables WHERE table_name = 'table_name');