postgres创建数据库
1.环境
PGHOST
PGPORT
PGUSER
默认连接参数。如果没有在命令行或PGDATABASE指定要创建的数据库名,PGUSER也决定要创建的数据库名。
2.创建数据库
sql创建
选项 | 说明 |
---|---|
OWNER | 指定数据库的owner |
TEMPLATE | 要从其创建新数据库的模板名称,或者用DEFAULT 来使用默认模板(template1 ) |
ENCODING | 要在新数据库中使用的字符集编码。默认使用utf-8 |
LOCALE | 这是一个同时设置LC_COLLATE 和LC_CTYPE 的快捷方式 |
LC_COLLATE | 要在新数据库中使用的排序规则顺序(LC_COLLATE ) |
LC_CTYPE | 要在新数据库中使用的字符分类(LC_CTYPE ) |
TABLESPACE | 将与新数据库相关联的表空间名称,或者DEFAULT 来使用模板数据库的表空间 |
ALLOW_CONNECTIONS | 如果为假,则没有人能连接到这个数据库。默认为真,表示允许连接(除了GRANT /REVOKE CONNECT ) |
CONNECTION LIMIT | 这个数据库允许多少并发连接。-1 (默认值)表示没有限制 |
IS_TEMPLATE | 如果为真,则任何具有CREATEDB特权的用户都可以从 这个数据库克隆。如果为假(默认),则只有超级用户或者该数据库的拥有者 可以克隆它。 |
CREATE DATABASE [db_name]
[
[ WITH ]
[ OWNER [=] user_name ]
[ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ LOCALE [=] locale ]
[ LC_COLLATE [=] lc_collate ]
[ LC_CTYPE [=] lc_ctype ]
[ TABLESPACE [=] tablespace_name ]
[ ALLOW_CONNECTIONS [=] allowconn ]
[ CONNECTION LIMIT [=] connlimit ]
[ IS_TEMPLATE [=] istemplate ]
]
shell命令创建
createdb [connection-option] [option] [dbname [description]]
dbname 指定要被创建的数据库名
description 指定与新创建的数据库相关联的一段注释。
connection-option
-h / --host=host 指定运行服务器的机器的主机名。
-p / --port=port 服务端口
-U / --username=username 用户
-w / --no-password 从不发出一个口令提示。如果服务器要求口令认证并且没有其他方式提供口令(例如一个.pgpass文件),那儿连接尝试将失败。
-W / --password 强制dropdb在连接到一个数据库之前提示要求一个口令。
--maintenance-db=dbname 指定要连接到来发现哪些其他数据库应该被删除的数据库名。
option
-D / --tablespace=tablespace 指定数据库默认表空间。
-e / --echo 将 createdb 生成的命令发送到服务端。
-E / --encoding=encoding 指定数据库的编码。
-l / --locale=locale 指定数据库的语言环境。
--lc-collate=locale 指定要在这个数据库中使用的 LC_COLLATE 设置。
--lc-ctype=locale 指定要在这个数据库中使用的 LC_CTYPE 设置。
-O / --owner=owner 指定拥有这个新数据库的数据库用户
-T / --template=template 指定创建此数据库的模板。
-V / --version 打印createdb版本并退出。
3.删除数据库
sql删除
选项 | 说明 |
---|---|
IF EXISTS | 如果该数据库不存在则不要抛出一个错误,而是发出一个提示 |
FORCE | 尝试终止与目标数据库的所有现有连接。 如果目标数据库中存在准备好的事务、活跃的逻辑复制槽或订阅,则不会终止。 如果当前用户没有终止其他连接的权限,则此操作将失败。 |
drop database [IF EXISTS] [db_name] [FORCE]
shell命令删除
dropdb [connection-option] [option] [db_name]
connection-option
-h / --host=host 指定运行服务器的机器的主机名。
-p / --port=port 服务端口
-U / --username=username 用户
-w / --no-password 从不发出一个口令提示。如果服务器要求口令认证并且没有其他方式提供口令(例如一个.pgpass文件),那儿连接尝试将失败。
-W / --password 强制dropdb在连接到一个数据库之前提示要求一个口令。
--maintenance-db=dbname 指定要连接到来发现哪些其他数据库应该被删除的数据库名。
option
dbname 指定要被移除的数据库的名字。
-e / --echo 回显dropdb生成并发送给服务器的命令。
-f / --force 在删除目标数据库之前,尝试终止与该数据库的所有现有连接。有关此选项的 详细信息,请参见DROP DATABASE。
-i / --interactive 在做任何破坏性的工作之前发出一个验证提示。
--if-exists 如果数据库不存在也不抛出一个错误。在这种情况下会发出一个提醒。
-V / --version 打印dropdb版本并退出。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通