PostgreSQL 数据库管理
在PostgreSQL中,数据库管理的最基本操作就是创建、使用和删除数据库。对应的创建和删除数据库可以使用三种方式实现:
- 使用 SQL 语句创建或删除
- 使用 createdb/dropdb 命令实现
- 使用 pgAdmin/DBeaver/HeidiSQL 等图形化管理工具实现
SQL语句实现
在PostgreSQL中,创建、使用和删除数据库都可以通过SQL命令来完成。以下是这些操作的基本指令:
创建数据库
使用CREATE DATABASE
命令来创建一个新的数据库:
1 |
|
database_name
是你想要创建的数据库的名称。 使用数据库
使用\c
或\connect
命令来切换到特定的数据库:
1 |
|
1 |
|
database_name
数据库。 删除数据库
使用DROP DATABASE
命令来删除一个数据库:
1 |
|
database_name
数据库。请注意,这个操作是不可逆的,一旦执行,数据库及其所有内容将被永久删除。 在执行这些命令之前,请确保你有足够的权限来创建、使用或删除数据库。通常,你需要以具有相应权限的用户身份登录到PostgreSQL服务器。如果你是使用psql
命令行工具,你可以使用-U username
参数来指定用户,例如:
1 |
|
在执行删除数据库操作时请格外小心,因为这将永久删除数据库及其所有内容。在执行这些操作之前,确保你已经备份了所有重要的数据。
以下是整体执行示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
如果不确认数据库是否存在,也可以使用 DROP DATABASE [ IF EXISTS ] name
执行,如果对应的数据库不存在会发出提示信息,而不是错误信息。
命令实现
createdb/dropdb 命令在 postgresql 包中,不在 postgresql-server 包中。通过这两个命令可以实现数据库的创建和删除。
创建数据库
默认yum源安装的情况下,因为没有配置认证鉴权,可以直接通过 createdb database_name
创建数据库:
1 2 3 4 |
|
以上命令我们使用了超级用户 postgres 登录到主机地址为 localhost,端口号为 5432 的 PostgreSQL 数据库中并创建 way361 数据库。对应的参数如下:
序号 | 选项 & 描述 |
---|---|
1 | -D tablespace 指定数据库默认表空间。 |
2 | -e 将 createdb 生成的命令发送到服务端。 |
3 | -E encoding 指定数据库的编码。 |
4 | -l locale 指定数据库的语言环境。 |
5 | -T template 指定创建此数据库的模板。 |
6 | --help 显示 createdb 命令的帮助信息。 |
7 | -h host 指定服务器的主机名。 |
8 | -p port 指定服务器监听的端口,或者 socket 文件。 |
9 | -U username 连接数据库的用户名。 |
10 | -w 忽略输入密码。 |
11 | -W 连接时强制要求输入密码。 |
删除数据库
删除操作类似创建操作,对应的命令如下:
1 2 3 |
|
开启了认证鉴权的情况下,后面使用的对应的参数如下:
序号 | 选项 & 描述 |
---|---|
1 | -e 显示 dropdb 生成的命令并发送到数据库服务器。 |
2 | -i 在做删除的工作之前发出一个验证提示。 |
3 | -V 打印 dropdb 版本并退出。 |
4 | --if-exists 如果数据库不存在则发出提示信息,而不是错误信息。 |
5 | --help 显示有关 dropdb 命令的帮助信息。 |
6 | -h host 指定运行服务器的主机名。 |
7 | -p port 指定服务器监听的端口,或者 socket 文件。 |
8 | -U username 连接数据库的用户名。 |
9 | -w 连接时忽略输入密码。 |
10 | -W 连接时强制要求输入密码。 |
11 | --maintenance-db=dbname 删除数据库时指定连接的数据库,默认为 postgres,如果它不存在则使用 template1。 |
图形化管理
使用 pgAdmin/DBeaver/HeidiSQL 等图形化管理工具都可以实现数据库的全生命周期管理,这里以 pgadmin 为例,对应的操作界面如下:
默认字符集
在 PostgreSQL 中,创建数据库时可以指定编码类型(字符集)。默认情况下,PostgreSQL 使用 UTF8
编码,但如果你想要指定一个不同的编码,可以使用 LC_COLLATE
和 LC_CTYPE
参数来设置数据库的排序规则(collation)和字符类型(character type)。
以下是创建一个指定编码类型的数据库的示例:
1 2 3 4 5 |
|
一旦数据库被创建,其编码类型就不能再被更改。如果你需要使用不同的编码类型,必须创建一个新的数据库。在实际操作中,通常使用默认的 UTF8
编码就足够了,因为它支持多语言字符,并且与多种应用程序兼容。如果你有特定的需求,需要使用其他编码类型,确保了解该编码类型的特性和限制。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))