PostgreSQL检查表是否存在抛出"关系不存在"错误

时间:2016-07-18 16:50:09

标签: postgresql

在PostgreSQL中,我尝试检查表是否存在:

SELECT EXISTS (SELECT * FROM table_name);

它抛出一个错误。如何检查表是否已存在,结果将是布尔值?因为目前我可以通过try-catch(输入捕获,如果不存在)而不是结果上的if-else实现相同...

谢谢,

1 个答案:

答案 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');