本章讨论如何在 PostgreSQL 中创建新数据库。PostgreSQL 提供了两种创建新数据库的方法:
使用 CREATE DATABASE,一个 SQL 命令。
使用createdb命令行可执行文件。
使用CREATE DATABASE
此命令将从 PostgreSQL shell 提示符创建一个数据库,但您应该具有创建数据库的适当权限。默认情况下,将通过克隆标准系统数据库template1来创建新数据库。
句法
CREATE DATABASE 语句的基本语法如下
CREATE DATABASE dbname;
其中LNXDB是要创建的数据库的名称。
例子
下面是一个简单的例子,它将在你的 PostgreSQL 模式中创建LNXDB
postgres=# CREATE DATABASE LNXDB;postgres‐#
使用 createdb 命令
PostgreSQL 命令行可执行文件createdb是 SQL 命令CREATE DATABASE的包装器。此命令与 SQL 命令CREATE DATABASE之间的唯一区别是前者可以直接从命令行运行,并且允许将注释添加到数据库中,所有这些都在一个命令中。
句法
createdb的语法如下所示
createdb [option...] [dbname [description]]
参数
下表列出了参数及其说明
编号 | 参数及说明 |
---|---|
1 | dbname 要创建的数据库的名称。 |
2 | description 指定要与新创建的数据库相关联的注释。 |
3 | options 命令行参数, createdb 接受。 |
选项
下表列出了createdb 接受的命令行参数
编号 | 选项和说明 |
---|---|
1 | -D 表空间 指定数据库的默认表空间。 |
2 | -e 回显 createdb 生成并发送到服务器的命令。 |
3 | -E 编码 指定要在此数据库中使用的字符编码方案。 |
4 | -l 语言环境 指定要在此数据库中使用的语言环境。 |
5 | -T 模板 指定用于构建此数据库的模板数据库。 |
6 | - help 显示有关 createdb 命令行参数的帮助,然后退出。 |
7 | -h 主机 指定运行服务器的机器的主机名。 |
8 | -p 端口 指定服务器正在侦听连接的 TCP 端口或本地 Unix 域套接字文件扩展名。 |
9 | -U 用户名 要连接的用户名。 |
10 | -w 永远不要发出密码提示。 |
11 | -W 强制 createdb 在连接到数据库之前提示输入密码。 |
打开命令提示符并转到安装 PostgreSQL 的目录。进入bin目录,执行以下命令创建数据库。
createdb ‐h localhost ‐p 5432 ‐U postgres LNXDB password ******
上面给出的命令将提示您输入 PostgreSQL 管理员用户的密码,默认为postgres。因此,提供密码并继续创建新数据库
使用上述任一方法创建数据库后,您可以使用\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-#