[PostgreSQL] – Criando Usuários, Tablespaces, Databases e Schemas


— Criando Usuário no PostgreSQL —
CREATE ROLE zeus LOGIN
ENCRYPTED PASSWORD ‘Teste,.123’
SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION;

— Criando Tablespaces no PostgreSQL —
CREATE TABLESPACE tbs_zeustab OWNER zeus LOCATION ‘C:\postgres\zeus\tablespaces\tab’;
CREATE TABLESPACE tbs_zeusindx OWNER zeus LOCATION ‘C:\postgres\zeus\tablespaces\indx’;
CREATE TABLESPACE tbs_zeuslob OWNER zeus LOCATION ‘C:\postgres\zeus\tablespaces\lob’;

— Criando Banco de dados vinculando os tablespace de armazenamento do usuário —
— criando banco de dados com collate ‘UTF8’
CREATE DATABASE zeus
WITH OWNER = zeus
ENCODING = ‘UTF8’
TABLESPACE = tbs_zeustab
LC_COLLATE = ‘Portuguese_Brazil.1252’
LC_CTYPE = ‘Portuguese_Brazil.1252’
CONNECTION LIMIT = -1;

— criando banco de dados com collate ‘LATIN5’
CREATE DATABASE dbteste
WITH OWNER = postgres
ENCODING = ‘LATIN5’
TABLESPACE = pg_default
LC_COLLATE = ‘C’
LC_CTYPE = ‘C’
CONNECTION LIMIT = -1;

— criando banco de dados com collate ‘LATIN1’
CREATE DATABASE dbteste1
WITH OWNER = postgres
ENCODING = ‘LATIN1’
TABLESPACE = pg_default
LC_COLLATE = ‘C’
LC_CTYPE = ‘C’
CONNECTION LIMIT = -1;

— Criando Schemas no PostgreSQL —

— Schema: sisimobiliaria
— DROP SCHEMA sisimobiliaria;
CREATE SCHEMA sisimobiliaria
AUTHORIZATION zeus;
GRANT ALL ON SCHEMA sisimobiliaria TO zeus;

— Schema: public
— DROP SCHEMA public;
CREATE SCHEMA public
AUTHORIZATION zeus;
GRANT ALL ON SCHEMA public TO zeus;
GRANT ALL ON SCHEMA public TO public;
COMMENT ON SCHEMA public
IS ‘standard public schema’;

— Definido os tablespaces:
— Para definir o tablespace, você deve procurar dois pontos importantes no seu dump ou criação: o ponto imediatamente anterior antes de criar as tabelas e o ponto imediatamente anterior a criação dos índices e constraints.

Antes da criação das tabelas coloque a seguinte linha:
SET default_tablespace = ‘tbs_zeustab’;

Antes da criação de índices e constraints, coloque a seguinte linha:
SET default_tablespace = ‘tbs_zeusindx’;

Banco de dados de Exemplo para PostgreSQL:
https://www.dropbox.com/s/qolrw6w0gcnwqdo/bd_exemplo_postgresql.zip

Documentação Oficial do PostgreSQL:
https://www.dropbox.com/s/1xzc3zx4dl2y98b/pgdocptbr800-1.2.pdf.zip

Bom espero ter ajudado, caso precisem tirar alguma dúvida favor comentar.