对PostgreSQL数据库的操作

快速启动PostgreSQL并进行基本的数据库操作。

在psql外部,命令以$符号开头,在psql内部则以#符号开头。

创建/删除数据库

建立数据库

如果在psql之外执行的话

$ createdb <DB name>

如果在psql中执行的话

# create database <DB name>;

删除数据库

如果在外部进行psql操作的情况下

$ dropdb <DB name>

如果在psql内执行的话

# drop database <DB name>;

显示DB清单

如果在psql之外进行操作的话

$ psql -l

如果在psql内执行

$ \l

进入/退出/切换数据库

输入数据库

可以通过不同的指定方式进入,但至少要确保不要忘记以下两点。

#DB名のみを指定して入る
$ psql <DB name>

#DB名とユーザー名を指定して入る
$ psql -U <User name> <DB name>

DB已经离开

MySQL只有exit;命令,而PostgreSQL有两个选项。都可以使用,不需要分号。

# \q

# exit

数据库切换

在psql内进行切换。以下两个选项均可使用。不需要使用分号。

# \c <DB name>

# \connect <DB name>

动作

展示DB操作的一套行为方式

sf213471118:postgres sf213471118$ psql -l                  /* 最初の状態  */
                             List of databases
   Name    |    Owner    | Encoding | Collate | Ctype |   Access privileges   
-----------+-------------+----------+---------+-------+-----------------------
 postgres  | sf213471118 | UTF8     | C       | C     | 
 template0 | sf213471118 | UTF8     | C       | C     | =c/ sf213471118     +
           |             |          |         |       | sf213471118=CTc/ sf213471118
 template1 | sf213471118 | UTF8     | C       | C     | =c/ sf213471118     +
           |             |          |         |       | sf213471118=CTc/sf213471118
(3 rows)
sf213471118:postgres sf213471118$ createdb hogeDB           /* hogeDB作成  */
sf213471118:postgres sf213471118$ psql -U aa291336 hogeDB   /* hogeDB入  */
psql (11.4)
Type "help" for help.
hogeDB=# \connect postgres                                  /* postgresに切替 */
You are now connected to database "postgres" as user "sf213471118".
postgres=# drop database "hogeDB";                          /* hogeDB削除 */
DROP DATABASE
postgres=# \q                                               /* postgres出 */

照上述的方式进行操作。

关于在 DB 内的字符处理情况

在上述行为中,关于hogeDB删除部分,如果不用””括起来,则

postgres=# drop database hogeDB;
2019-07-19 15:32:41.280 JST [57231] ERROR:  database "hogedb" does not exist
2019-07-19 15:32:41.280 JST [57231] STATEMENT:  drop database hogeDB;
ERROR:  database "hogedb" does not exist

出现错误消息。此错误是由于 hogeDB 包含大写字母所导致的。

由于数据库是使用双引号创建的,因此区分大小写。

因此,在引用時需要使用雙引號””進行引述。

根据这件事情可以总结出

    • psql外(DB外)

dropdb hogeDB –> 通る

dropdb “hogeDB” –> 通る

psql内(DB内)

drop database hogeDB –> 通らない

drop database “hogeDB” –> 通る

关于createdb/ create database,两者都不需要引用,因此不需要用””括起来。

广告
将在 10 秒后关闭
bannerAds