上一章《postgresql12在Linux上的 RPM 安装》介绍了如何linux环境安装postgresql12,接下来继续了解如何使用 postgresql12。
创建一个hr数据库
CREATE DATABASE HR;
复制
当不清楚相关语法的时候,可以在命令行中执行\help 查看帮助
postgres=# \help create database Command: CREATE DATABASE Description: create a new database Syntax: CREATE DATABASE name [ [ WITH ] [ OWNER [=] user_name ] [ TEMPLATE [=] template ] [ ENCODING [=] encoding ] [ LC_COLLATE [=] lc_collate ] [ LC_CTYPE [=] lc_ctype ] [ TABLESPACE [=] tablespace_name ] [ ALLOW_CONNECTIONS [=] allowconn ] [ CONNECTION LIMIT [=] connlimit ] [ IS_TEMPLATE [=] istemplate ] ] URL: https://www.postgresql.org/docs/12/sql-createdatabase.html
复制
CREATE DATABASE有几个选项
-
OWNER
数据库归属的用户,如果不指定,则取执行create database命令的用户。 -
TEMPLATE
创建数据库使用的模板,默认 template1 -
ENCODING
指定编码,如果不指定,则使用创建模板中的编码。比如,如果使用template1,则使用UTF8编码。
postgres=# \c template1 You are now connected to database "template1" as user "postgres". template1=# \encoding UTF8
复制
- LC_COLLATE 、LC_CTYPE
排序规则,这两个参数影响数据排序。
template1=# \l template1 List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres
复制
字符集支持的LC_COLLATE和LC_CTYPE信息可以查看pg_collation表。
- TABLESPACE
postgresql中的表空间跟oracle中不太一样。oracle中的表空间代表着一个容器,将数据对象放到这个容器中。而postgresql中的表空间则标识了一个数据挂载点。
但是两者都可以达到分散数据热点,优化磁盘分配的功能。
postgresql初始化后会创建两个表空间 pg_default、pg_global,如果建库没有指定表空间,则相关数据文件默认建立在pg_default下。
postgres=# \db List of tablespaces Name | Owner | Location ------------+----------+---------- pg_default | postgres | pg_global | postgres | (2 rows) postgres=# CREATE TABLESPACE tb1 LOCATION '/data/tb1'; CREATE TABLESPACE postgres=# \db List of tablespaces Name | Owner | Location ------------+----------+----------- pg_default | postgres | pg_global | postgres | tb1 | postgres | /data/tb1
复制
- ALLOW_CONNECTIONS
是否允许连接,默认是允许
postgres=# create database tb2 ALLOW_CONNECTIONS =false; CREATE DATABASE postgres=# \c tb2 FATAL: database "tb2" is not currently accepting connections Previous connection kept
复制
- CONNECTION LIMIT
连接数限制,默认为-1 ,意为 没有限制。
- IS_TEMPLATE
是否生成一个建库模板,默认为否
删除数据库的命令就很简单了,没有那么多选项
postgres=# \help drop database; Command: DROP DATABASE Description: remove a database Syntax: DROP DATABASE [ IF EXISTS ] name URL: https://www.postgresql.org/docs/12/sql-dropdatabase.html
复制
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
postgresql12-create database
4月前

评论
相关阅读
王炸!OGG 23ai 终于支持从PostgreSQL备库抽取数据了
曹海峰
408次阅读
2025-03-09 12:54:06
玩一玩系列——玩玩login_hook(一款即将停止维护的PostgreSQL登录插件)
小满未满、
375次阅读
2025-03-08 18:19:28
明明想执行的SQL是DELETE、UPDATE,但为什么看到的是SELECT(FDW的实现原理解析)
小满未满、
354次阅读
2025-03-19 23:11:26
PostgreSQL初/中/高级认证考试(3.15)通过考生公示
开源软件联盟PostgreSQL分会
309次阅读
2025-03-20 09:50:36
IvorySQL 4.4 发布 - 基于 PostgreSQL 17.4,增强平台支持
通讯员
198次阅读
2025-03-20 15:31:04
套壳论
梧桐
196次阅读
2025-03-09 10:58:17
命名不规范,事后泪两行
xiongcc
184次阅读
2025-03-13 14:26:08
PG vs MySQL 执行计划解读的异同点
进击的CJR
124次阅读
2025-03-21 10:50:08
版本发布| IvorySQL 4.4 发布
IvorySQL开源数据库社区
115次阅读
2025-03-13 09:52:33
宝藏PEV,助力你成为SQL优化高手
xiongcc
113次阅读
2025-03-09 23:34:23