修改数据库操作
这次有点不一样了,前两节课都是对表进行操作,这一个是对数据库进行操作。上课之前有个疑问:
数据库和表的关系,以及表和文件的关系?
15445-storage_2.ppt:
The DBMS stores a database as one or more files on disk.
可以通俗理解为:一个数据库(目录)包含一个或者多个表,每个表是由一个或者多个文件组成的。
1.准备工作
omm=# create database music;
omm=# select oid, datname from pg_database;
omm=# oid | datname
-------+-----------
1 | template1
16384 | omm
16408 | music
14176 | template0
14181 | postgres
omm=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype
| Access privileges
-----------+-------+----------+-------------+-------------
+-------------------
music | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
omm | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
postgres | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
template0 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| =c/omm +
| | | |
| omm=CTc/omm
template1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| =c/omm +
| | | |
| omm=CTc/omm
(5 rows
2.操作
ALTER DATABASE music CONNECTION LIMIT= 10;
ALTER DATABASE music RENAME TO music1;
create database music2;
\c music2;
create table t2(a int, b varchar(18));
\q
更改了最大连接数,但是 show max_connections还是系统配置的参数,这里可能有其他命令查看,坐等大佬解惑。
3. 作业
create database tpcc1;
create database tpcc2;
alter database tpcc1 rename to tpcc10;
\l
\l+
\c tpcc2
create table customer(id integer, name char(30));
--不能删除当前使用的database,所以我们删除了tpcc10--
drop database tpcc10;
4.结果
music1=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype
| Access privileges
-----------+-------+----------+-------------+-------------
+-------------------
music1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
music2 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
omm | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
postgres | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
template0 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| =c/omm +
| | | |
| omm=CTc/omm
template1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| =c/omm +
| | | |
| omm=CTc/omm
tpcc10 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
tpcc2 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
(8 rows)
music1=# \l+
List of databases
Name | Owner | Encoding | Collate | Ctype
| Access privileges | Size | Tablespace |
Description
-----------+-------+----------+-------------+-------------
+-------------------+-------+------------+----------------
----------------------------
music1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| | 10 MB | pg_default |
music2 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| | 10 MB | pg_default |
omm | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| | 10 MB | pg_default |
postgres | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| | 10 MB | pg_default | default adminis
trative connection database
template0 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| =c/omm +| 10 MB | pg_default | default templat
e for new databases
| | | |
| omm=CTc/omm | | |
template1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| =c/omm +| 10 MB | pg_default | unmodifiable em
pty database
| | | |
| omm=CTc/omm | | |
tpcc10 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| | 10 MB | pg_default |
tpcc2 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| | 10 MB | pg_default |
(8 rows)
tpcc2=# drop database tpcc10;
DROP DATABASE
tpcc2=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype
| Access privileges
-----------+-------+----------+-------------+-------------
+-------------------
music1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
music2 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
omm | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
postgres | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
template0 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| =c/omm +
| | | |
| omm=CTc/omm
template1 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
| =c/omm +
| | | |
| omm=CTc/omm
tpcc2 | omm | UTF8 | en_US.UTF-8 | en_US.UTF-8
|
(7 rows)
5. 疑惑
更改了connection_limit参数是GUC参数么?怎么查看呢?
最后修改时间:2021-12-26 18:05:06
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




