Difference between revisions of "Create database (PostgreSQL)"

From wikieduonline
Jump to navigation Jump to search
 
(26 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
https://www.postgresql.org/docs/current/sql-createdatabase.html
  
 +
[[CREATE]] DATABASE name
 +
    [ WITH ] [ OWNER [=] user_name ]
 +
          [ TEMPLATE [=] template ]
 +
          [ [[ENCODING]] [=] encoding ]
 +
          [ [[STRATEGY]] [=] strategy ] ]
 +
          [ [[LOCALE]] [=] locale ]
 +
          [ LC_COLLATE [=] lc_collate ]
 +
          [ LC_CTYPE [=] lc_ctype ]
 +
          [ ICU_LOCALE [=] icu_locale ]
 +
          [ LOCALE_PROVIDER [=] locale_provider ]
 +
          [ COLLATION_VERSION = collation_version ]
 +
          [ [[TABLESPACE]] [=] tablespace_name ]
 +
          [ ALLOW_CONNECTIONS [=] allowconn ]
 +
          [ CONNECTION LIMIT [=] connlimit ]
 +
          [ IS_TEMPLATE [=] istemplate ]
 +
          [ OID [=] oid ]
  
* <code>[[createdb]]</code> command
+
[[LOCALE]] available since Oct 2020 [[PostgreSQL 13]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
* <code>[[createdb]]</code> command include in <code>[[postgresql-client-common]]</code> package
  
  
 
[[PostgreSQL]]
 
[[PostgreSQL]]
  CREATE DATABASE "scratch"
+
  [[CREATE]] DATABASE "yournewdbname";
   WITH OWNER "postgres"
+
 
   ENCODING '[[UTF8]]'
+
CREATE DATABASE "yournewdbname"
   LC_COLLATE = 'en_US.UTF-8'
+
   WITH [[OWNER]] "postgres"
   LC_CTYPE = 'en_US.UTF-8';
+
   [[ENCODING]] '[[UTF8]]'
 +
   [[LC_COLLATE]] = 'en_US.UTF-8'
 +
   [[LC_CTYPE]] = 'en_US.UTF-8';
  
 
  CREATE DATABASE "scratch"
 
  CREATE DATABASE "scratch"
   WITH OWNER "postgres"
+
   [[WITH OWNER]] "postgres"
 
   ENCODING '[[UTF8]]';
 
   ENCODING '[[UTF8]]';
  
Line 27: Line 53:
 
   ERROR:  role "confluenceuser" does not exist
 
   ERROR:  role "confluenceuser" does not exist
 
  or
 
  or
  ERROR:  new collation (en_US.UTF-8) is incompatible with the collation of the template database (C.UTF-8)
+
  ERROR:  new [[collation]] (en_US.UTF-8) is incompatible with the collation of the template database (C.UTF-8)
 
  HINT:  Use the same collation as in the template database, or use template0 as template.
 
  HINT:  Use the same collation as in the template database, or use template0 as template.
 
  or
 
  or
Line 43: Line 69:
 
Output:
 
Output:
 
  CREATE DATABASE
 
  CREATE DATABASE
 +
 +
 +
== Createdb command ==
 +
sudo su - postgres
 +
createdb -E UNICODE -l C -T template0 YOUR_DB_NAME
 +
(no output)
 +
 +
 +
== [[Timescale cloud]] ==
 +
CREATE DATABASE test;
 +
ERROR:  tsdb_admin: database test is not an allowed database name
 +
HINT:  Contact your administrator to configure the
 +
"tsdb_admin.[[allowed_databases]]"
 +
 +
Solutions: is not allowed <ref>https://docs.timescale.com/cloud/latest/services/create-a-service/</ref>
  
 
== Related terms ==
 
== Related terms ==
 
* <code>[[createdb]]</code> command
 
* <code>[[createdb]]</code> command
* {{TOC operation databases}}
+
* [[CREATE TABLE]]
* [[Create user]]
 
 
* <code>[[GRANT]] ALL PRIVILEGES ON DATABASE confluence TO confluenceuser;</code>
 
* <code>[[GRANT]] ALL PRIVILEGES ON DATABASE confluence TO confluenceuser;</code>
 +
* <code>[[\list]]</code>
 +
* <code>[[DROP DATABASE]]</code>
  
 
== See also ==
 
== See also ==

Latest revision as of 11:53, 11 May 2023

https://www.postgresql.org/docs/current/sql-createdatabase.html

CREATE DATABASE name
   [ WITH ] [ OWNER [=] user_name ]
          [ TEMPLATE [=] template ]
          [ ENCODING [=] encoding ]
          [ STRATEGY [=] strategy ] ]
          [ LOCALE [=] locale ]
          [ LC_COLLATE [=] lc_collate ]
          [ LC_CTYPE [=] lc_ctype ]
          [ ICU_LOCALE [=] icu_locale ]
          [ LOCALE_PROVIDER [=] locale_provider ]
          [ COLLATION_VERSION = collation_version ]
          [ TABLESPACE [=] tablespace_name ]
          [ ALLOW_CONNECTIONS [=] allowconn ]
          [ CONNECTION LIMIT [=] connlimit ]
          [ IS_TEMPLATE [=] istemplate ]
          [ OID [=] oid ]
LOCALE available since Oct 2020 PostgreSQL 13





PostgreSQL

CREATE DATABASE "yournewdbname";
CREATE DATABASE "yournewdbname"
 WITH OWNER "postgres"
 ENCODING 'UTF8'
 LC_COLLATE = 'en_US.UTF-8'
 LC_CTYPE = 'en_US.UTF-8';
CREATE DATABASE "scratch"
 WITH OWNER "postgres"
 ENCODING 'UTF8';

https://confluence.atlassian.com/doc/database-setup-for-postgresql-173244522.html

CREATE DATABASE "confluence"
 WITH OWNER "confluenceuser"
 ENCODING 'UTF8'
 LC_COLLATE = 'en_US.UTF-8'
 LC_CTYPE = 'en_US.UTF-8';

Output:

 CREATE DATABASE
or
 ERROR:  role "confluenceuser" does not exist
or
ERROR:  new collation (en_US.UTF-8) is incompatible with the collation of the template database (C.UTF-8)
HINT:  Use the same collation as in the template database, or use template0 as template.
or
 ERROR:  invalid locale name: "en_US.UTF-8"
 Soluction:  locale-gen en_US.UTF-8

Solution: [1]

CREATE DATABASE "confluence"
 WITH OWNER "confluenceuser"
 ENCODING 'UTF8'
 LC_COLLATE = 'en_US.UTF-8'
 LC_CTYPE = 'en_US.UTF-8'
 TEMPLATE template0;

Output:

CREATE DATABASE


Createdb command[edit]

sudo su - postgres
createdb -E UNICODE -l C -T template0 YOUR_DB_NAME
(no output)


Timescale cloud[edit]

CREATE DATABASE test;
ERROR:  tsdb_admin: database test is not an allowed database name
HINT:  Contact your administrator to configure the 
"tsdb_admin.allowed_databases"
Solutions: is not allowed [2]

Related terms[edit]

See also[edit]

  • https://stackoverflow.com/questions/18870775/how-to-change-the-template-database-collection-coding
  • https://docs.timescale.com/cloud/latest/services/create-a-service/
  • Advertising: