Fabrízio de Royes Mello

Blog sobre Tecnologia da Informação

Patch Sobre CREATE SCHEMA if NOT EXISTS Aceito Para O PostgreSQL 9.3devel

Após algumas discussões [1] meu patch para adicionar a cláusula “IF NOT EXISTS” no “CREATE SCHEMA” foi aceito e efetuado o commit na branch master do git oficial do PostgreSQL [2] pelo commiter Mr. Tom Lane.

Agora na 9.3 poderemos usar a cláusula “IF NOT EXISTS” no “CREATE SCHEMA” para que não gere um erro (cancelando transação atual) caso o esquema que está sendo criado já exista, por exemplo:

BEGIN;
  CREATE SCHEMA IF NOT EXISTS foo;
  CREATE TABLE foo.bar();
COMMIT;

O exemplo acima caso o esquema “foo” já exista não será gerado um erro e a transação irá prosseguir normalmente. O comportamento é similar ao já existente “IF NOT EXISTS” do “CREATE TABLE” [3].

[1] https://commitfest.postgresql.org/action/patch_view?id=907
[2] http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=fb34e94d214d6767910df47aa7c605c452d11c57
[3] http://www.postgresql.org/docs/9.2/interactive/sql-createtable.html


Fabrízio de Royes Mello
fabriziomello [at] gmail.com