postgres创建数据库

1.环境

PGHOST
PGPORT
PGUSER
默认连接参数。如果没有在命令行或PGDATABASE指定要创建的数据库名,PGUSER也决定要创建的数据库名。

2.创建数据库

sql创建

选项 说明
OWNER 指定数据库的owner
TEMPLATE 要从其创建新数据库的模板名称,或者用DEFAULT来使用默认模板(template1
ENCODING 要在新数据库中使用的字符集编码。默认使用utf-8
LOCALE 这是一个同时设置LC_COLLATELC_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版本并退出。
posted @ 2022-07-17 13:05  lxd670  阅读(455)  评论(0编辑  收藏  举报