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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle資料庫建立、刪除索引等操作Oracle資料庫索引
- hadoop 資料夾檔案的建立與刪除Hadoop
- MongoDB資料庫中更新與刪除資料MongoDB資料庫
- indexedDB 刪除資料庫Index資料庫
- 2.11 刪除資料庫資料庫
- 解析postgresql 刪除重複資料案例SQL
- PostgreSQL刪除表中重複資料SQL
- Laravel 資料庫裡的資料刪除Laravel資料庫
- Mysql索引的建立與刪除MySql索引
- 資料結構之單連結串列的建立與刪除資料結構
- 6.12php對資料庫的刪除和批量刪除PHP資料庫
- 刪除linux下的oracle資料庫LinuxOracle資料庫
- 資料結構:單迴圈連結串列的建立插入與刪除資料結構
- mysql/mariadb學習記錄——建立刪除資料庫、表的基本命令MySql資料庫
- elasticsearch(三)----索引建立與刪除Elasticsearch索引
- whk我【資料刪除】你個【資料刪除】的
- 小程式批次刪除雲資料庫裡的資料資料庫
- SQL Server實戰一:建立、分離、附加、刪除、備份資料庫SQLServer資料庫
- windows下Oracle資料庫完全刪除WindowsOracle資料庫
- indexedDB 刪除物件倉庫所有資料Index物件
- 快速建立POLARDB for PostgreSQL資料庫叢集教程SQL資料庫
- 如何刪除資料庫下的所有表(mysql)資料庫MySql
- 恢復Oracle資料庫誤刪除資料的語句Oracle資料庫
- FileUtils類建立、刪除檔案及資料夾
- oracle db link的檢視建立與刪除Oracle
- Redis單機資料庫持久化與過期建刪除Redis資料庫持久化
- postgresql怎麼刪除SQL
- MySQL學習筆記之SQL語句建立、修改和刪除資料庫MySql筆記資料庫
- 刪除資料
- SQL Server無法刪除資料庫 "xxx",因為該資料庫當前正在使用(如何刪除一個Sql Server資料庫)SQLServer資料庫
- SQL Server實戰二:建立、修改、複製、刪除資料庫表並加以資料處理SQLServer資料庫
- SQL的資料庫操作:新增、更新、刪除、查詢SQL資料庫
- 聊聊PG資料庫的防誤刪除問題資料庫
- Mysql資料庫值的新增、修改、刪除及清空MySql資料庫
- mysql資料庫誤刪除操作說明MySql資料庫
- dbca刪除資料庫時選項灰色資料庫
- 【C/C++】資料庫刪除大表C++資料庫
- PG資料庫更新刪除卡死現象資料庫