PostgreSQL:資料庫的建立與刪除
建立資料庫
CREATE DATABASE
-
語法
PostgreSQL中可以使用\h+command的方式來獲取對應的提示,例子如下:postgres@postgres=>\h create database Command: CREATE DATABASE Description: create a new database Syntax: CREATE DATABASE name [ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LC_COLLATE [=] lc_collate ] [ LC_CTYPE [=] lc_ctype ] [ TABLESPACE [=] tablespace_name ] [ ALLOW_CONNECTIONS [=] allowconn ] [ CONNECTION LIMIT [=] connlimit ] [ IS_TEMPLATE [=] istemplate ] ] URL:
-
檢視當前已存在的資料庫
postgres@postgres=>\l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+-------+----------------------- postgres | postgres | LATIN1 | en_US | en_US | template0 | postgres | LATIN1 | en_US | en_US | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | LATIN1 | en_US | en_US | =c/postgres + | | | | | postgres=CTc/postgres (3 rows)
-
示例
-
建立新資料庫
CREATE DATABASE test;
-
建立一個資料庫 dbtest,擁有者是 utest,表空間是 tbstest
CREATE DATABASE dbtest OWNER utest TABLESPACE tbstest;
-
建立一個不同字符集的資料庫
在本例中,如果指定的區域設定與 template1 中的區域設定不同,則需要 TEMPLATE template0 子句。(如果不是,那麼顯式地指定語言環境是多餘的。)CREATE DATABASE test LC_COLLATE 'sv_SE.utf8' LC_CTYPE 'sv_SE.utf8' TEMPLATE template0;
-
建立一個具有不同語言環境和不同字符集編碼的資料庫
指定的區域設定和編碼設定必須匹配,否則將報告錯誤。CREATE DATABASE test LC_COLLATE 'sv_SE.iso885915' LC_CTYPE 'sv_SE.iso885915' ENCODING LATIN9 TEMPLATE template0;
CREATEDB
createdb 是一個 SQL 命令 CREATE DATABASE 的封裝。
createdb 命令語法格式如下:
createdb [option...] [dbname [description]]
引數說明:
-
dbname:要建立的資料庫名。
-
description:關於新建立的資料庫相關的說明。
-
options:引數可選項,可以是以下值:
-
-D tablespace:指定資料庫預設表空間。
-
-e:將 createdb 生成的命令傳送到服務端。
-
-E encoding:指定資料庫的編碼。
-
-l locale:指定資料庫的語言環境。
-
-T template:指定建立此資料庫的模板。
-
--help:顯示 createdb 命令的幫助資訊。
-
-h host:指定伺服器的主機名。
-
-p port:指定伺服器監聽的埠,或者 socket 檔案。
-
-U username:連線資料庫的使用者名稱。
-
-w:忽略輸入密碼。
-
-W:連線時強制要求輸入密碼。
接下來我們開啟一個命令視窗,進入到 PostgreSQL 的安裝目錄,並進入到 bin 目錄,createdb 命令位於 **PostgreSQL安裝目錄/bin** 下,執行建立資料庫的命令:
$ cd /Library/PostgreSQL/11/bin/ $ createdb -h localhost -p 5432 -U postgres runoobdb password ******
以上命令我們使用了超級使用者 postgres 登入到主機地址為 localhost,埠號為 5432 的 PostgreSQL 資料庫中並建立 runoobdb 資料庫。
刪除資料庫
DROP DATABASE
-
語法
postgres@postgres=>\h drop database Command: DROP DATABASE Description: remove a database Syntax: DROP DATABASE [ IF EXISTS ] name URL:
-
例子
-
正常刪除
postgres=# drop database test1; DROP DATABASE postgres=# drop database test2; DROP DATABASE
-
無資料庫
透過if exists子句進行判斷,資料庫不存在命令也不會報錯postgres=# drop database if exists test3; NOTICE: database "test3" does not exist, skipping DROP DATABASE postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 rows)
-
如果此時有其他連線正連線在需要刪除的資料庫上,將無法刪除該資料庫,報錯如下:
postgres=# drop database test3; ERROR: database "test3" is being accessed by other users DETAIL: There is 1 other session using the database.
dropdb
dropdb 是 DROP DATABASE 的包裝器。
dropdb 用於刪除 PostgreSQL 資料庫。
dropdb 命令只能由超級管理員或資料庫擁有者執行。
dropdb 命令語法格式如下:
dropdb [connection-option...] [option...] dbname
引數說明:
-
dbname:要刪除的資料庫名。
-
options:引數可選項,可以是以下值:
-
-e:顯示 dropdb 生成的命令併傳送到資料庫伺服器。
-
-i:在做刪除的工作之前發出一個驗證提示。
-
-V:列印 dropdb 版本並退出。
-
--if-exists:如果資料庫不存在則發出提示資訊,而不是錯誤資訊。
-
--help:顯示有關 dropdb 命令的幫助資訊。
-
-h host:指定執行伺服器的主機名。
-
-p port:指定伺服器監聽的埠,或者 socket 檔案。
-
-U username:連線資料庫的使用者名稱。
-
-w:連線資料庫的使用者名稱。
-
-W:連線時強制要求輸入密碼。
-
--maintenance-db=dbname:刪除資料庫時指定連線的資料庫,預設為 postgres,如果它不存在則使用 template1。
接下來我們開啟一個命令視窗,進入到 PostgreSQL 的安裝目錄,並進入到 bin 目錄,dropdb 名位於 PostgreSQL安裝目錄/bin 下,執行刪除資料庫的命令:
$ cd /Library/PostgreSQL/11/bin/ $ dropdb -h localhost -p 5432 -U postgres runoobdb password ******
以上命令我們使用了超級使用者 postgres 登入到主機地址為 localhost,埠號為 5432 的 PostgreSQL 資料庫中並刪除 runoobdb 資料庫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2738129/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [MYSQL] 資料庫建立與刪除MySql資料庫
- 資料庫 - 索引、基本表建立與刪除資料庫索引
- MongoDB 資料庫建立刪除、表(集合)建立刪除、資料增刪改查MongoDB資料庫
- 手工建立/刪除資料庫的步驟資料庫
- Oracle批量建立、刪除資料庫表Oracle資料庫
- oracle資料庫建立、刪除索引等操作Oracle資料庫索引
- 資料庫的選定、建立、刪除和變更資料庫
- MongoDB資料庫中更新與刪除資料MongoDB資料庫
- hadoop 資料夾檔案的建立與刪除Hadoop
- 手工建立、刪除11gR2資料庫資料庫
- PostgreSQL中刪除的資料能否恢復SQL
- PostgreSQL刪除表中重複資料SQL
- 解析postgresql 刪除重複資料案例SQL
- indexedDB 刪除資料庫Index資料庫
- Laravel 資料庫裡的資料刪除Laravel資料庫
- 批量刪除Oracle資料庫的資料Oracle資料庫
- 手工建立資料庫及刪除資料庫示例--附建庫時alert日誌資料庫
- 資料結構之單連結串列的建立與刪除資料結構
- Mysql索引的建立與刪除MySql索引
- 【RAC】刪除RAC資料庫節點(一)——刪除資料庫例項資料庫
- 11gr2 RAC靜默刪除、建立資料庫資料庫
- 已為資料庫映象啟動資料庫,必須刪除資料庫映象才能刪除該資料庫資料庫
- 2.11 刪除資料庫資料庫
- 如何刪除oracle資料庫Oracle資料庫
- 刪除資料庫指令碼資料庫指令碼
- 手工刪除oracle資料庫Oracle資料庫
- 手動刪除資料庫資料庫
- linux下建立、刪除資料夾Linux
- 6.12php對資料庫的刪除和批量刪除PHP資料庫
- EM資料庫重建 手動刪除資料庫資料庫
- 【RAC】刪除RAC資料庫節點(二)——刪除ASM資料庫ASM
- 【RAC】刪除RAC資料庫節點(五)——刪除ONS資料庫
- 資料結構:單迴圈連結串列的建立插入與刪除資料結構
- oracle手動刪除資料庫Oracle資料庫
- 手動刪除oracle資料庫Oracle資料庫
- 刪除資料庫表空間資料庫
- dbca無法刪除資料庫資料庫
- elasticsearch(三)----索引建立與刪除Elasticsearch索引