也许这个错误可能是由 SCHEMA 的问题引起的,我试图修复它,但是我完全糊涂了。
下面是详细描述。
有一个单独的文件运行以下命令:
CREATE DATABASE weather;
CREATE SCHEMA public;
CREATE SCHEMA schema1;
SET search_path = schema1, public;
CREATE TABLE "Sities" (
Id SERIAL PRIMARY KEY,
name TEXT,
country TEXT,
weather_id_api int);
CREATE TABLE "Forecasts" (
Id SERIAL PRIMARY KEY,
city_id int,
time DATE,
temp INT,
humidity INT,
pressure INT);
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO postgres;
GRANT usage ON SCHEMA public TO postgres;
检查每个命令的执行是否有错误,这些命令执行起来没有问题。
在另一个文件中执行这样的命令:
SET search_path = schema1, public;
INSERT INTO "Sities" (name, country, weather_id_api)
SELECT 'Orenburg', "RU", 234234
WHERE NOT EXISTS (SELECT name FROM "Sities" WHERE name="Orenburg");
最后一个命令导致一个错误:
panic: pq: Relation "Sities" does not exist
goroutine 1 [running]: main.PostToDatabase(0x11731ee0) D:/Go/src/WeatherSoket/main.go:135 +0x40f main.Update() D:/Go/src/WeatherSoket/main.go:150 +0x52 main.main() D:/Go/src/WeatherSoket/main.go:165 +0xbe exit status 2