📜  PostgreSQL-创建数据库

📅  最后修改于: 2020-11-26 06:15:35             🧑  作者: Mango


本章讨论如何在PostgreSQL中创建新数据库。 PostgreSQL提供了两种创建新数据库的方式-

  • 使用CREATE DATABASE(SQL命令)。
  • 使用createdb一个命令行可执行文件。

使用CREATE DATABASE

该命令将从PostgreSQL Shell提示符创建数据库,但是您应该具有创建数据库的适当特权。默认情况下,将通过克隆标准系统数据库template1来创建新数据库。

句法

CREATE DATABASE语句的基本语法如下:

CREATE DATABASE dbname;

其中dbname是要创建的数据库的名称。

以下是一个简单的示例,它将在您的PostgreSQL模式中创建testdb

postgres=# CREATE DATABASE testdb;
postgres-# 

使用createdb命令

PostgreSQL命令行可执行文件createdb是SQL命令CREATE DATABASE的包装。此命令和SQL命令CREATE DATABASE之间的唯一区别是,前者可以直接从命令行运行,并且可以在一个命令中将注释添加到数据库中。

句法

createdb的语法如下所示-

createdb [option...] [dbname [description]]

参量

下表列出了参数及其说明。

S. No. Parameter & Description
1

dbname

The name of a database to create.

2

description

Specifies a comment to be associated with the newly created database.

3

options

command-line arguments, which createdb accepts.

选件

下表列出了createdb接受的命令行参数-

S. No. Option & Description
1

-D tablespace

Specifies the default tablespace for the database.

2

-e

Echo the commands that createdb generates and sends to the server.

3

-E encoding

Specifies the character encoding scheme to be used in this database.

4

-l locale

Specifies the locale to be used in this database.

5

-T template

Specifies the template database from which to build this database.

6

–help

Show help about createdb command line arguments, and exit.

7

-h host

Specifies the host name of the machine on which the server is running.

8

-p port

Specifies the TCP port or the local Unix domain socket file extension on which the server is listening for connections.

9

-U username

User name to connect as.

10

-w

Never issue a password prompt.

11

-W

Force createdb to prompt for a password before connecting to a database.

打开命令提示符,然后转到安装PostgreSQL的目录。进入bin目录并执行以下命令来创建数据库。

createdb -h localhost -p 5432 -U postgres testdb
password ******

上面给出的命令将提示您输入PostgreSQL管理员用户的密码,默认情况下为postgres 。因此,提供密码并继续创建新数据库

使用上述任何一种方法创建数据库后,您都可以使用\ l在数据库列表中对其进行检查,即如下所示的backslash 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-#