Difference between revisions of "PostgreSQL: CREATE SCHEMA"

From wikieduonline
Jump to navigation Jump to search
Line 19: Line 19:
 
  CREATE SCHEMA myschema;
 
  CREATE SCHEMA myschema;
 
  Create a schema for user joe; the schema will also be named joe:
 
  Create a schema for user joe; the schema will also be named joe:
 +
 +
CREATE SCHEMA IF NOT EXISTS test AUTHORIZATION joe;
 +
Create a schema and create a table and view within it
  
 
  CREATE SCHEMA AUTHORIZATION joe;
 
  CREATE SCHEMA AUTHORIZATION joe;
 
  Create a schema named test that will be owned by user joe, unless there already is a schema named test. (It does not matter whether joe owns the pre-existing schema.)
 
  Create a schema named test that will be owned by user joe, unless there already is a schema named test. (It does not matter whether joe owns the pre-existing schema.)
  
CREATE SCHEMA IF NOT EXISTS test AUTHORIZATION joe;
 
Create a schema and create a table and view within it:
 
  
 
  CREATE SCHEMA hollywood
 
  CREATE SCHEMA hollywood
Line 31: Line 32:
 
         SELECT title, release FROM films WHERE awards IS NOT NULL;
 
         SELECT title, release FROM films WHERE awards IS NOT NULL;
 
Notice that the individual subcommands do not end with semicolons.
 
Notice that the individual subcommands do not end with semicolons.
 
  
 
== Related ==
 
== Related ==

Revision as of 09:17, 28 April 2022

CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ]
CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification

where role_specification can be:

    user_name
  | CURRENT_ROLE
  | CURRENT_USER
  | SESSION_USER

Examples

Examples Create a schema:

CREATE SCHEMA myschema;
Create a schema for user joe; the schema will also be named joe:
CREATE SCHEMA IF NOT EXISTS test AUTHORIZATION joe;
Create a schema and create a table and view within it
CREATE SCHEMA AUTHORIZATION joe;
Create a schema named test that will be owned by user joe, unless there already is a schema named test. (It does not matter whether joe owns the pre-existing schema.)


CREATE SCHEMA hollywood
    CREATE TABLE films (title text, release date, awards text[])
    CREATE VIEW winners AS
        SELECT title, release FROM films WHERE awards IS NOT NULL;

Notice that the individual subcommands do not end with semicolons.

Related

See also

Advertising: