PostgreSQL跨数据库引用未实现

时间:2018-08-02 02:48:48

标签: postgresql docker

我正在尝试创建一个数据库,然后在其中创建一个表。我使用docker-compose.yml在SQL文件中编写了与postgres图像一起使用的查询

当我使用docker-compose build然后再使用docker-compose up时出现错误

  

“ psql:/docker-entrypoint-initdb.d/init.sql:18:错误:未实现跨数据库引用:” real_estate.public.estate“   postgres |第1行:创建表real_estate.public.estate(“

这是我的init.sql文件

CREATE DATABASE "real_estate"
    WITH OWNER "postgres"
    ENCODING 'UTF8';
CREATE TABLE real_estate.public.estate (
    estate_title TEXT,
    estate_address TEXT,
    estate_area TEXT,
    estate_description TEXT,
    estate_price TEXT,
    estate_type TEXT,
    estate_tag TEXT,
    estate_date TEXT,
    estate_seller_name TEXT,
    estate_seller_address TEXT,
    estate_seller_phone TEXT,
    estate_seller_mobile TEXT,
    estate_seller_email TEXT
 );

1 个答案:

答案 0 :(得分:1)

由于未连接到real_estate数据库,所以收到该错误。

我假设您已连接到postgres,因为这通常是运行CREATE DATABASE的操作。

您必须终止现有数据库连接,然后再开始一个新创建的数据库。只有这样,您才可以在数据库中创建对象。

此功能是将不同的数据库严格分开,并且any request to change that will be turned down

如何做到最好取决于您如何运行脚本。如果您使用psql运行它,那么简单的\c real_estate就可以。