A sintaxe padrão do SQL é
DROP TABLE table_name;
IF EXISTS
não é padrão; plataformas diferentes podem suportá-lo com sintaxe diferente ou não suportá-lo. No PostgreSQL, a sintaxe é
DROP TABLE IF EXISTS table_name;
O primeiro lançará um erro se a tabela não existir ou se outros objetos de banco de dados dependerem dela. Na maioria das vezes, os outros objetos de banco de dados serão referências de chave estrangeira, mas também pode haver outros. (Visualizações, por exemplo.) O segundo não emitirá um erro se a tabela não existir, mas ainda emitirá um erro se outros objetos de banco de dados dependerem dela.
Para soltar uma tabela e todos os outros objetos que dependem dela, use um deles.
DROP TABLE table_name CASCADE;
DROP TABLE IF EXISTS table_name CASCADE;
Use CASCADE com muito cuidado.