postgresql用戶端命令之createdb

來源:互聯網
上載者:User

標籤:用戶端   postgresql   createdb   


建立一個新的PostgreSQL資料庫。該命令的使用方式如下:
    createdb [option...] [dbname] [description]
    1. 命令列選項列表:

選項

說明

-D(--tablespace=tablespace)

指定資料庫的預設資料表空間。

-e(--echo)

回顯createdb產生的命令並且把它發送到伺服器。

-E(--encoding=encoding)

指定用於此資料庫的字元編碼方式。

-l(--locale=locale)

指定用於此資料庫的本地化設定。

-O(--owner=owner)

指定建立資料庫的擁有者,如果未指定此選項,該值為當前登入的使用者。

-T(--template=template)

指定建立此資料庫的模板資料庫。

-h(--host=host)

指定PostgreSQL伺服器的主機名稱。

-p(--port=port)

指定伺服器的偵聽連接埠,如不指定,則為預設的5432。

-U(--username=username)

本次操作的登入使用者名稱,如果-O選項沒有指定,此資料庫的Owner將為該登入使用者。

-w(--no-password)

如果當前登入使用者沒有密碼,可以指定該選項直接登入。

2.應用樣本:
    #1.以postgres的身份登入。
登陸預設的postgres資料庫(三種登陸方式)

[[email protected] PG_9.5_201510051]$ psql  -p 36985

psql.bin (9.5.9)

Type "help" for help.

postgres=#

[[email protected] PG_9.5_201510051]$ psql -U postgres  -p 36985

psql.bin (9.5.9)

Type "help" for help.

postgres=# 

[[email protected] PG_9.5_201510051]$ psql -U postgres -d postgres -p 36985

psql.bin (9.5.9)

Type "help" for help.

postgres=# \q


   #2. 建立資料表空間。 

postgres=# CREATE TABLESPACE tbspace01 LOCATION ‘/data/postgresql/tbspace‘;

CREATE TABLESPACE

[[email protected] tbspace]$ cd /data/postgresql/tbspace

[[email protected] tbspace]$ ls

PG_9.5_201510051

3. 建立新資料庫的owner。
   postgres=# CREATE ROLE testwjw LOGIN PASSWORD ‘123456‘;
    CREATE ROLE
   postgres=# \q

   #4. 建立新資料庫,其中本次串連的登入使用者為testwjw,新資料庫的owner為testwjw,新資料庫名為cstest01。

[[email protected] ~]$ createdb -U testwjw -p36985 -O testwjw -e cstest01

CREATE DATABASE cstest01 OWNER testwjw TABLESPACE db_space01;

createdb: database creation failed: ERROR:  permission denied to create database

原因是使用者testwjw沒有建立庫的許可權:

postgres=# alter user testwjw createdb;

ALTER ROLE

postgres=# \du                            List of roles

 Role name |                         Attributes                         | Member of 

-----------+------------------------------------------------------------+-----------

 myuser    |                                                            | {}

 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

 testwjw   | Create DB               

5.重新登入,通過查詢系統資料表查看該資料庫是否建立成功,以及資料表空間和所有者是否一致。

postgres=#  SELECT datname,rolname,spcname FROM pg_database db, pg_authid au, pg_tablespace ts WHERE datname = ‘cstest01‘ AND datdba = au.oid AND dattablespace = ts.oid;

 datname  | rolname |  spcname   

----------+---------+------------

 cstest01 | testwjw | pg_default

(1 row)

本文出自 “10931853” 部落格,請務必保留此出處http://wujianwei.blog.51cto.com/10931853/1970757

postgresql用戶端命令之createdb

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.