Не удалось подключиться к pgsql по адресу:UNIX (порт 5432): значением CL-POSTGRES::USER является NIL, который не имеет тип STRING
Я использую изображение докера (docker pull ubuntu
), Я установил postgresql через apt-get и затем хочу запустить следующий скрипт:
LOAD CSV
FROM 'geneset.csv' (a,b,c,d,e,f,g)
INTO postgresql:///genedb?csv (a,b,c,d,e,f,g)
WITH truncate,
skip header = 1,
fields optionally enclosed by '"',
fields escaped by backslash-quote,
fields terminated by '\t'
SET client_encoding to 'latin1',
work_mem to '80MB',
standard_conforming_strings to 'on'
BEFORE LOAD DO
$$ drop table if exists csv; $$,
$$ create table csv (
a bigint,
b text,
c text,
d text,
e text,
f text,
g text
);
$$;
Для выполнения скрипта я набираю в оболочке: pgloader csv.load
выполнить код выше.
К сожалению, я всегда получаю предупреждение:
WARNING:
Couldn't re-execute SBCL with proper personality flags (/proc isn't mounted? setuid?)
Trying to continue anyway.
An unhandled error condition has been signalled:
Failed to connect to pgsql at :UNIX (port 5432): The value of CL-POSTGRES::USER is NIL, which is not of type STRING.
;
; compilation unit aborted
; caught 1 fatal ERROR condition
Я уже установил apt-get -y install sbcl gcl
но ошибка не исчезает. Любые предложения, чтобы решить эту проблему? Я обнаружил, что эта проблема возникает очень часто на образах докеров...
Редактировать:
Могу ли я в основном установить образ докера ubuntu 16.04 и установить postresql и pdgloader через apt-get? Мой подход в порядке? Я только хочу выполнить запросы к базе данных локально в образе...
1 ответ
У меня была такая же проблема с (macOS 14 sonoma), я установил pgloader с помощью доморощенного с помощью этой командыbrew install pgloader
и я исправил проблему, указав пароль для базы данных mysql и postgresql , поэтому следует выполнить команду:
pgloader mysql://mysql_user:mysql_user_password@localhost/mysql_db pgsql://pgsql_user:pgsql_user_password@localhost/pgsql_db