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