xsmscb 发表于 2016-11-21 09:59:49

PostgreSQL中,database,schema,table之间关系

  从逻辑上看,schema,table,都是位于database之下。
  首先,在postgres数据库下建立表(相当于建立在public schema下):



$ ./psql -d postgres
psql (9.1.2)
Type "help" for help.
postgres=# create table tab200(id integer);
CREATE TABLE
postgres=# \q

  然后,再在tester数据库下建立表(相当于建立在public schema下):



$ ./psql -d tester
psql (9.1.2)
Type "help" for help.
tester=# create table tab200(id integer);
CREATE TABLE
tester=# \q


  然后,再在其他的数据库下进行查看:



$ ./psql
psql (9.1.2)
Type "help" for help.
pgsql=# SELECT * FROM information_schema.tables WHERE table_name='tab200';
table_catalog | table_schema | table_name | table_type | self_referencing_column_name | reference_generation | user_de
fined_type_catalog | user_defined_type_schema | user_defined_type_name | is_insertable_into | is_typed | commit_action
---------------+--------------+------------+------------+------------------------------+----------------------+--------
-------------------+--------------------------+------------------------+--------------------+----------+---------------
(0 rows)
pgsql=# \q
  然后,再在 postgres数据库和tester数据库下分别查看:



$ ./psql -d tester
psql (9.1.2)
Type "help" for help.
tester=# SELECT * FROM information_schema.tables WHERE table_name='tab200';
table_catalog | table_schema | table_name | table_type | self_referencing_column_name | reference_generation | user_de
fined_type_catalog | user_defined_type_schema | user_defined_type_name | is_insertable_into | is_typed | commit_action
---------------+--------------+------------+------------+------------------------------+----------------------+--------
-------------------+--------------------------+------------------------+--------------------+----------+---------------
tester      | public       | tab200   | BASE TABLE |                              |                      |      
|                        |                        | YES                | NO       |
(1 row)
tester=# \q

$ ./psql -d postgres
psql (9.1.2)
Type "help" for help.
postgres=# SELECT * FROM information_schema.tables WHERE table_name='tab200';
table_catalog | table_schema | table_name | table_type | self_referencing_column_name | reference_generation | user_de
fined_type_catalog | user_defined_type_schema | user_defined_type_name | is_insertable_into | is_typed | commit_action
---------------+--------------+------------+------------+------------------------------+----------------------+--------
-------------------+--------------------------+------------------------+--------------------+----------+---------------
postgres      | public       | tab200   | BASE TABLE |                              |                      |      
|                        |                        | YES                | NO       |
(1 row)
页: [1]
查看完整版本: PostgreSQL中,database,schema,table之间关系