我正在尝试创建一个数据库,然后在其中创建一个表。我使用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
);
答案 0 :(得分:1)
由于未连接到real_estate
数据库,所以收到该错误。
我假设您已连接到postgres
,因为这通常是运行CREATE DATABASE
的操作。
您必须终止现有数据库连接,然后再开始一个新创建的数据库。只有这样,您才可以在数据库中创建对象。
此功能是将不同的数据库严格分开,并且any request to change that will be turned down。
如何做到最好取决于您如何运行脚本。如果您使用psql
运行它,那么简单的\c real_estate
就可以。