createdb命令的作用是可以创建一个PostgreSQL数据库。
PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。 PostgreSQL数据库支持灵活的权限管理,可以控制一个角色(组、用户)对某张表的读、写、更新、删除等操作权限、执行某个函数的权限以及操作(使用、更新等)视图、序列的权限。
通常,执行这个命令的数据库用户成为新数据库的所有者。 不过,如果执行用户拥有合适的权限,那么他可以通过 -O指定合适的用户。createdb是一个SQL命令 CREATE DATABASE的封装。
**语法格式:** createdb [参数] [数据库] [描述]
**常用参数:**
| -D<表空间> | 数据库默认表空间 |
| ---------------- | ------------------------ |
| -e | 显示发送到服务端的命令 |
| -O<所有者> | 新数据库的所属用户 |
| -E<编码> | 指定数据库编码 |
| -h<主机名> | 数据库服务器的主机名 |
| -p<端口> | 数据库服务器端口号 |
| -U<用户> | 连接的用户名 |
| -w | 永远不提示输入口令 |
| -W | 强制提示输入口令 |
| -T<模版数据库> | 指定要复制的数据库模版 |
**参考实例**
创建数据库linuxcool:
```
[root@anycode ~]# su -postgres
$ createdb linuxcool
```
主机192.168.60.163上的服务器创建数据库linuxcool,端口是5888:
```
[root@anycode ~]# createdb -p 5888 -h 192.168.60.163 linuxcool
```
以数据库linuxcool为模版复制创建数据库db1:
```
[root@anycode ~]# su -postgres
$ createdb db1 -T linuxcool
```