Labels

admin (1) aix (1) alert (1) always-on (2) Architecture (1) aws (3) Azure (1) backup (3) BI-DWH (10) Binary (3) Boolean (1) C# (1) cache (1) casting (3) cdc (1) certificate (1) checks (1) cloud (3) cluster (1) cmd (7) collation (1) columns (1) compilation (1) configurations (7) Connection-String (2) connections (6) constraint (6) copypaste (2) cpu (2) csv (3) CTE (1) data-types (1) datetime (23) db (547) DB2 (1) deadlock (2) Denali (7) device (6) dotNet (5) dynamicSQL (11) email (5) encoding (1) encryption (4) errors (124) excel (1) ExecutionPlan (10) extended events (1) files (7) FIPS (1) foreign key (1) fragmentation (1) functions (1) GCP (2) gMSA (2) google (2) HADR (1) hashing (3) in-memory (1) index (3) indexedViews (2) insert (3) install (10) IO (1) isql (6) javascript (1) jobs (11) join (2) LDAP (2) LinkedServers (8) Linux (15) log (6) login (1) maintenance (3) mariadb (1) memory (4) merge (3) monitoring (4) MSA (2) mssql (444) mssql2005 (5) mssql2008R2 (20) mssql2012 (2) mysql (36) MySQL Shell (5) network (1) NoSQL (1) null (2) numeric (9) object-oriented (1) offline (1) openssl (1) Operating System (4) oracle (7) ORDBMS (1) ordering (2) Outer Apply (1) Outlook (1) page (1) parameters (2) partition (1) password (1) Performance (103) permissions (10) pivot (3) PLE (1) port (4) PostgreSQL (14) profiler (1) RDS (3) read (1) Replication (12) restore (4) root (1) RPO (1) RTO (1) SAP ASE (48) SAP RS (20) SCC (4) scema (1) script (8) security (10) segment (1) server (1) service broker (2) services (4) settings (75) SQL (74) SSAS (1) SSIS (19) SSL (8) SSMS (4) SSRS (6) storage (1) String (35) sybase (57) telnet (2) tempdb (1) Theory (2) tips (120) tools (3) training (1) transaction (6) trigger (2) Tuple (2) TVP (1) unix (8) users (3) vb.net (4) versioning (1) windows (14) xml (10) XSD (1) zip (1)

PostgreSQL Databases

System databases

Template Databases
Database creation actually works by copying an existing DB.
The template DBs are used for user database creation.
  • Two ‘default’ Template Databases: Template0, Template1.
  • Template1 is the default template.
  • The 2 templates contains the same data.
  • Template0 is more empty/"virgin" DB.
  • New encoding and locale settings can be specified when copying template0, whereas a copy of template1 must use the same settings it does.
  • More templates can be created.

Tablespace
Tablespaces define locations in the file system where the files representing database objects can be stored.
Tablespace creation must be done as a database superuser.
PostgreSQL comes with two default tablespaces:
  • pg_default: stores all user data (the default tablespace).
  • pg_global: stores all global data.
One tablespace can be used by multiple databases.
The physical location of tablespaces: <PostgreSQLFolder>\12\data .
Tables, indexes, and entire databases can be assigned to particular tablespaces: 
    CREATE TABLE foo(i int) TABLESPACE space1;


Database Creation
Database is created by cloning one of the templates.
Database is created in one of the tablespaces.

CREATE DATABASE name
 [ [ WITH ] [ OWNER [=] user_name ]
 [ TEMPLATE [=] template ]
 [ ENCODING [=] encoding ]
 [ LC_COLLATE [=] lc_collate ]
 [ LC_CTYPE [=] lc_ctype ]
 [ TABLESPACE [=] tablespace ]
 [ CONNECTION LIMIT [=] connlimit ] ]

No comments:

Post a Comment