PostgreSQL創建數據庫
本章討論在PostgreSQL中如何創建一個新的數據庫, PostgreSQL提供兩種方式創建一個新的數據庫:
-
使用CREATE DATABASE的SQL命令。
-
使用createdb的一個命令行可執行文件。
使用CREATE DATABASE
該命令將創建一個數據庫PostgreSQL的shell提示符,但你應該有適當的權限來創建數據庫。默認情況下,創建新的數據庫將通過克隆標準係統數據庫template1。
語法:
CREATE DATABASE語句的基本語法如下:
CREATE DATABASE dbname;
其中dbname是要創建的數據庫的名稱。
例子
下麵是一個簡單的例子,這將創建testdb 在PostgreSQL模式:
postgres=# CREATE DATABASE testdb; postgres-#
使用createdb的命令
PostgreSQL命令行可執行createdb是是SQL命令CREATE DATABASE一個包裝器。此命令和SQL命令CREATE DATABASE之間唯一的區彆是,前者可以直接在命令行中運行,它允許的注釋被添加到數據庫中,全部在一個命令。
語法:
createdb語法如下所示:
createdb [option...] [dbname [description]]
參數
下表列出了參數及它們的描述。
參數名稱 | 描述 |
---|---|
dbname | The name of a database to create. |
description | Specifies a comment to be associated with the newly created database. |
options | command-line arguments which createdb accepts. |
選項
下表列出了命令行參數CREATEDB接收:選項 | 描述 |
---|---|
-D tablespace | Specifies the default tablespace for the database. |
-e | Echo the commands that createdb generates and sends to the server. |
-E encoding | Specifies the character encoding scheme to be used in this database. |
-l locale | Specifies the locale to be used in this database. |
-T template | Specifies the template database from which to build this database. |
--help | Show help about dropdb command line arguments, and exit. |
-h host | Specifies the host name of the machine on which the server is running. |
-p port | Specifies the TCP port or the local Unix domain socket file extension on which the server is listening for connections. |
-U username | User name to connect as. |
-w | Never issue a password prompt. |
-W | Force createdb to prompt for a password before connecting to a database. |
打開命令提示符,然後去是PostgreSQL安裝所在的目錄。進入到bin目錄,執行下麵的命令創建一個數據庫。
createdb -h localhost -p 5432 -U postgress testdb password ******
上麵的命令會提示Postgres的默認的PostgreSQL管理用戶的密碼,以便提供密碼和繼續創建新的數據庫。
一旦創建數據庫時可以使用上述方法,可以檢查它在列表中的數據庫使用l即反斜線el命令如下:
postgres-# l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+-------+----------------------- postgres | postgres | UTF8 | C | C | template0 | postgres | UTF8 | C | C | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C | C | =c/postgres + | | | | | postgres=CTc/postgres testdb | postgres | UTF8 | C | C | (4 rows) postgres-#