为什么 \dt *.显示 psql 中的关系列表但 \dt 不显示我的 postgreSQL 数据库中的表列表?

Why does \dt *. show me a list of relations in psql but \dt not show me a list of tables in my postgreSQL database?

我正在使用 PostgreSQL 8.4.20 版。由于工作问题和现有数据库 运行ning,我无法升级它。

我创建了一个如下所示的架构:

--
-- Name: Bug Tracking; Type: COMMENT; Schema: bugtrackingdb; Owner: aa2_role
--

COMMENT ON DATABASE bugtrackingdb IS 'CCDD Viewer Web Application Bug Tracking DB.';

--- CREATE DATABASE bugtrackingdb;

CREATE SCHEMA bugtracking AUTHORIZATION aa2;

CREATE TABLE bugtracking.issues (
    issueID BIGSERIAL PRIMARY KEY,
    issue VARCHAR(50) NOT NULL 
);

CREATE TABLE bugtracking.users (
    id BIGSERIAL PRIMARY KEY,
    issueID BIGINT NOT NULL UNIQUE REFERENCES bugtracking.issues(issueID),
    userName VARCHAR(25) NOT NULL
);

CREATE TABLE bugtracking.openDate (
    issueID BIGINT NOT NULL UNIQUE REFERENCES bugtracking.issues(issueID),
    dateOpened DATE NOT NULL
);

CREATE TABLE bugtracking.closeDate (
    issueID BIGINT NOT NULL UNIQUE REFERENCES bugtracking.issues(issueID),
    dateClosed DATE NOT NULL
);

CREATE TABLE bugtracking.priority (
    priorityID BIGSERIAL PRIMARY KEY,
    issueID BIGINT NOT NULL UNIQUE REFERENCES bugtracking.issues(issueID),
    priority VARCHAR(15) NOT NULL
);

CREATE TABLE bugtracking.status (
    statusID BIGSERIAL PRIMARY KEY,
    issueID BIGINT NOT NULL UNIQUE REFERENCES bugtracking.issues(issueID),
    status VARCHAR(20) NOT NULL
);

CREATE TABLE bugtracking.comments (
    commentID BIGSERIAL PRIMARY KEY,
    issueID BIGINT NOT NULL UNIQUE REFERENCES bugtracking.issues(issueID),
    description TEXT NOT NULL
);

我对 postgreSQL 还是个新手,我正在努力弄清楚,尽管我熟悉数据库的工作原理,但我正在努力弄清楚我是否正确地这样做了。

我已经连接到数据库,我已经创建了模式,我相信是成功的。

在数据库中创建我的 SCHEMA 之后,psql 返回了一系列通知,例如:

bugtrackingdb.sql:14: NOTICE:  CREATE TABLE will create implicit sequence "issues_issueid_seq" for serial column "issues.issueid"

bugtrackingdb.sql:14: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "issues_pkey" for table "issues"
CREATE TABLE

bugtrackingdb.sql:20: NOTICE:  CREATE TABLE will create implicit sequence "users_id_seq" for serial column "users.id"

bugtrackingdb.sql:20: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "users_pkey" for table "users"

bugtrackingdb.sql:20: NOTICE:  CREATE TABLE / UNIQUE will create implicit index "users_issueid_key" for table "users"
CREATE TABLE

我的问题是,当我 运行 psql 命令 \dt 查看表列表时,我收到 No relations found 消息。

然而,当我 运行 \dt *. 我得到:

                        List of relations
       Schema       |          Name           | Type  |  Owner   
--------------------+-------------------------+-------+----------
 bugtracking        | closedate               | table | aa2
 bugtracking        | comments                | table | aa2
 bugtracking        | issues                  | table | aa2
 bugtracking        | opendate                | table | aa2
 bugtracking        | priority                | table | aa2
 bugtracking        | status                  | table | aa2
 bugtracking        | users                   | table | aa2

这是否意味着我已经成功创建了所有内容并且我现在准备好 运行 我的 INSERT INTO 命令和 SELECT 语句???

如果没有创建表,那么我需要做什么才能使其正常工作?

此外,我的 SCHEMA 写得正确吗?或者有更好的方法吗?

为什么我 运行 \dt 时得到 No relations found???

这就是我创建数据模型的方式:

CREATE SCHEMA bugtracking AUTHORIZATION aa2;

CREATE TABLE bugtracking.issues (
    issueID BIGSERIAL NOT NULL UNIQUE PRIMARY KEY,
    issue VARCHAR(50) NOT NULL, 
    dateOpened DATE NOT NULL,
    dateClosed DATE,
    type VARCHAR(25) NOT NULL,
    priority VARCHAR(15) NOT NULL,
    status VARCHAR(20) NOT NULL,
    comments TEXT NOT NULL
);

CREATE TABLE bugtracking.users (
    id BIGSERIAL NOT NULL UNIQUE PRIMARY KEY,
    issueID BIGINT NOT NULL UNIQUE REFERENCES bugtracking.issues(issueID),
    userName VARCHAR(25) NOT NULL
);

这是我得到的输出。

bugtrackingdb=# INSERT INTO bugtracking.issues (issue, dateOpened, type, priority, status, comments) VALUES ('Test issue data', '20 Jul 2017', 'Logic Error', 'low', 'Not Started', 'Enter key needs to acctuate login button when pressed.');
INSERT 0 1
bugtrackingdb=# SELECT * FROM bugtracking.issues AS issueID; issueid |      issue      | dateopened | dateclosed |    type     | priority |   status    |                        comments                        
---------+-----------------+------------+------------+-------------+----------+-------------+--------------------------------------------------------
       1 | Test issue data | 2017-07-20 |            | Logic Error | low      | Not Started | Enter key needs to acctuate login button when pressed.
(1 row)

想一想,一个用户将有很多问题要报告,但每个问题每个列只有一个实例。

只是我的 2 美分。按照您的方式编写一百万个查询,您将自杀。