当前位置: 首页 > 知识库问答 >
问题:

在Docker容器中找不到postgresql表

敖和韵
2023-03-14
spring:
  profiles:
    active: @spring.profiles.active@
  jpa:
    hibernate:
      ddl-auto: none
  datasource:
    initialization-mode: always
    platform: authentication
    driver-class-name: org.postgresql.Driver
    username: postgres
    password: postgres
    url: jdbc:postgresql://localhost:5432/mark_authentication
    jdbc-url: jdbc:postgresql://localhost:5432/mark_authentication
  liquibase:
    change-log: classpath:db/changelog.xml
    <changeSet  id="create_roles"  author="afanasev">
        <createTable  tableName="roles" schemaName="users">
            <column  name="id"  type="BIGINT"  autoIncrement="true">
                <constraints  primaryKey="true"  nullable="false"/>
            </column>
            <column  name="role_name"  type="varchar(25)"/>
        </createTable>
        <insert  schemaName="users"
                 tableName="roles">
            <column  name="id"  value="0"/>
            <column  name="role_name"  value="ROLE_SUBSCRIBER"/>
        </insert>
        <insert  schemaName="users"
                 tableName="roles">
            <column  name="id"  value="1"/>
            <column  name="role_name"  value="ROLE_MARKETPLACE"/>
        </insert>
        <insert  schemaName="users"
                 tableName="roles">
            <column  name="id"  value="2"/>
            <column  name="role_name"  value="ROLE_ADMIN"/>
        </insert>
    </changeSet>
    <changeSet  id="create_users"  author="afanasev">
        <createTable  tableName="users" schemaName="users">
            <column  name="id"  type="VARCHAR(255)"  autoIncrement="false">
                <constraints  primaryKey="true"  nullable="false"/>
            </column>
            <column  name="password"  type="VARCHAR(50)">
                <constraints  nullable="false"/>
            </column>
            <column  name="email"  type="VARCHAR(50)">
                <constraints  nullable="false"/>
            </column>
            <column  name="full_name"  type="VARCHAR(255)">
                <constraints  nullable="false"/>
            </column>
            <column  name="is_active"  type="boolean" defaultValueBoolean="false">
                <constraints  nullable="false"/>
            </column>
            <column  name="date_added"  type="timestamp" defaultValueComputed="current_timestamp">
                <constraints  nullable="false"/>
            </column>
            <column  name="id_role"  type="INT">
                <constraints nullable="false" foreignKeyName="fk_role" referencedTableSchemaName="users" referencedTableName="roles" referencedColumnNames="id"/>
            </column>
            <column  name="code"  type="int"/>
        </createTable>
    </changeSet>
    <changeSet  id="update_users"  author="afanasev">
        <addColumn tableName="users" schemaName="users">
            <column name="address" type="VARCHAR(255)"/>
        </addColumn>
        <addColumn tableName="users" schemaName="users">
            <column name="tax_identification_number" type="BIGINT"/>
        </addColumn>
        <addColumn tableName="users" schemaName="users">
            <column name="organization" type="VARCHAR(255)"/>
        </addColumn>
        <addColumn tableName="users" schemaName="users">
            <column name="msisdn" type="BIGINT"/>
        </addColumn>
        <addColumn tableName="users" schemaName="users">
            <column name="code_reason" type="BIGINT"/>
        </addColumn>
    </changeSet>
  postgres-authentication:
    container_name: postgres-authentication
    image: postgres:13.2-alpine
    restart: unless-stopped
    ports:
      - "5433:5432"
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_DB=authentication
      - POSTGRES_PASSWORD=postgres
    volumes:
      - ./postgres_authentication_data:/var/lib/postgresql/data
docker exec -it postgres-authentication bash

连接到数据库

\c authentication

我在那里没有看到任何桌子,除了原木

\dt
Schema |         Name          | Type  |  Owner
--------+-----------------------+-------+----------
 public | databasechangelog     | table | postgres
 public | databasechangeloglock | table | postgres

我查看了日志,changelog已经在那里工作,并且已经创建了表。

create_roles | afanasev | db/changelog/01-create-user.xml | 2021-07-01 20:03:45.70403  |             1 | EXECUTED | 8:f576f05834bc714dda20a2e6580fd2de | createTable tableName=roles; insert tableName=roles; insert tableName=roles; insert tableName=roles                                   |          |     | 3.10.3    |          |        | 5169825313
create_users | afanasev | db/changelog/01-create-user.xml | 2021-07-01 20:03:46.039663 |             2 | EXECUTED | 8:f0f6055fe52f20bd3123bb53b38071de | createTable tableName=users                                                                                                           |          |     | 3.10.3    |          |        | 5169825313

共有1个答案

越开畅
2023-03-14

使用\dt时,默认只显示public架构

如果要显示模式的所有表,应该使用\dts或使用\dt[PATTERN]

如果使用\dts,您将看到数据库的所有模式包括Postgres模式,如pg_catalog

-- just show users schema
\dt users
 类似资料:
  • 问题内容: 我一直在关注几种不同的教程以及官方教程,但是每当我尝试在容器中安装PostgreSQL时,我都会收到以下消息 我在SO和整个互联网上浏览了几个问题,但是没有运气。 问题答案: 问题是您的应用程序/项目正在尝试访问HOST机器(不是docker容器)中的postgres套接字文件。 要解决这个问题,要么必须在使用该标志为postgres容器设置端口时明确要求进行tcp / ip连接,要么

  • 我一直在关注几个不同的教程以及官方教程,但是每当我试图在容器中安装PostgreSQL时,我都会收到以下消息 我在SO和整个互联网上看了几个问题,但没有运气。

  • 我使用了dockerhub的Jenkins docker图像(https://github.com/jenkinsci/docker) docker build命令已成功执行,容器也已成功启动。 Docker build命令: Docker容器命令: 然后我通过docker run-it myjenkins bash登录到容器。我找不到像config这样的jenkins配置文件。xml,詹金斯。x

  • 问题内容: 我想在一个简单的Docker容器中运行Django。 首先,我使用Docker-file构建了我的容器。没有什么特别的(只有FROM,RUN和COPY命令) 然后我用命令运行容器 输入我的容器: 运行Django服务器: 得到了: 但是当我转到127.0.0.1:8000时,我什么也看不到: 没有Nginx或其他工作服务器。 我究竟做错了什么? 更新1(Dockerfile) 问题答案

  • 我在docker容器中的服务器上有Postgresql。如何从外部连接到它,即从本地计算机连接到它?我应该应用什么设置来允许它?