Mimic-code: قاعدة بيانات بناء المشكلات - فشلت مصادقة الأقران للمستخدم "postgres"

تم إنشاؤها على ١ سبتمبر ٢٠١٧  ·  11تعليقات  ·  مصدر: MIT-LCP/mimic-code

مرحبا،

أنا جديد على MIMIC-III ، وقمت بتنزيل ملفات csv وفك ضغطها. عندما أحاول إنشاء قاعدة بيانات على الرغم من أنني أتلقى هذا الخطأ ، (أعتذر ، فأنا أيضًا مبتدئ في postgres).

(tf_011_v2) ajay@ajay-h8-1170uk:~/PythonProjects/mimic-code-master/buildmimic/postgres$ make mimic  datadir="/home/ajay/PythonProjects/mimic-code-master/data/"

-----------------------
-- Checking for data --
-----------------------

Data path:  /home/ajay/PythonProjects/mimic-code-master/data/
All data present!

------------------------
-- Building MIMIC-III --
------------------------

MIMICUSER="postgres" MIMIC_DB="mimic" MIMIC_PASSWORD="postgres" MIMIC_SCHEMA="mimiciii" ./create_mimic_user.sh
MIMIC_PASSWORD is set
MIMIC_DB is set to 'mimic'
User is unset, using default 'postgres'
postgres

psql: FATAL:  Peer authentication failed for user "postgres"
make: *** [create-user] Error 2

حاولت تغيير مستخدم نظام التشغيل الخاص بي إلى postgres ، باستخدام

sudo su - postgres

ولكن بعد ذلك لا يمكنني الوصول إلى makefile أو المجلد الذي يحتوي على ملفات csv؟

postgres@ajay-h8-1170uk:~$ cd /home/ajay/PythonProjects/mimic-code-master/buildmimic/postgre
-su: cd: /home/ajay/PythonProjects/mimic-code-master/buildmimic/postgres: Permission denied

أعتقد أن مشكلتي قد تكون مشابهة لمشكلة أخرى مغلقة

صعوبة في بناء قاعدة بيانات باستخدام PostgreSQL - https://github.com/MIT-LCP/mimic-code/issues/259

لذلك أعتقد أنني بحاجة لتغيير makefile بطريقة أو بأخرى ، أي نصيحة؟

التعليق الأكثر فائدة

لقد واجهت نفس المشكلة كما في OP ، والتي قمت بحلها من خلال استدعاء النص البرمجي بـ DBUSER="$USER" مثل ذلك:

make create-user mimic-gz datadir="$datadir" DBUSER="$USER"

ال 11 كومينتر

AjayTalati ، يبدو أن المصادقة فشلت لأن ملفك pg_hba.conf يتطلب مصادقة نظير ولا يوجد مستخدم postgres على نظامك.

يمكنك حل هذه المشكلة عن طريق تحرير ملف pg_hba.conf أو عن طريق تعيين المستخدم إلى اسم مستخدم النظام الخاص بك. لمزيد من التفاصيل ، راجع: https://stackoverflow.com/questions/17443379/psql-fatal-peer-authentication-failed-for-user-dev

تغيير السطر التالي بـ pg_hba.conf :

# TYPE DATABASE USER ADDRESS METHOD
local  all      all          peer

ل:

# TYPE DATABASE USER ADDRESS METHOD
local  all      all          md5

... سيسمح لك بإدخال كلمة المرور لتسجيل الدخول.

مرحبًا tompollard ، شكرًا جزيلاً على المساعدة :)

سؤال غبي نوعًا ما ، ولكن كيف يمكنك معرفة مكان pg_hba.conf على نظام أوبونتو؟ لقد حاولت للتو

(tf_011_v2) ajay@ajay-h8-1170uk:~$ find . -type f -name "pg_hba.conf"

ولكن لا حظ في العثور على pg_hba.conf ؟

قد تجد أنه من الأسهل تغيير المستخدم من "postgres" إلى مستخدم نظامك (unix). سيكون الملف pg_hba.conf على الأرجح في /etc/postgresql/9.x/main/pg_hba.conf

لم أتمكن من العثور على مجلد postgresql في home/etc
empty_etc

لذلك ربما هذه مشكلة؟

لست متأكدًا من كيفية "_تغيير المستخدم من" postgres "إلى نظامك (unix) user_" ، لكنني حاولت تشغيل الأمر باستخدام sudo ، ولكن ما زلت أعاني من نفس المشكلة ،

(tf_011_v2) ajay@ajay-h8-1170uk:~/PythonProjects/mimic-code-master/buildmimic/postgres$ sudo make mimic  datadir="/home/ajay/PythonProjects/mimic-code-master/data/"
[sudo] password for ajay: 

-----------------------
-- Checking for data --
-----------------------

Data path:  /home/ajay/PythonProjects/mimic-code-master/data/
All data present!

------------------------
-- Building MIMIC-III --
------------------------

MIMICUSER="postgres" MIMIC_DB="mimic" MIMIC_PASSWORD="postgres" MIMIC_SCHEMA="mimiciii" ./create_mimic_user.sh
MIMIC_PASSWORD is set
MIMIC_DB is set to 'mimic'
User is unset, using default 'postgres'
postgres

psql: FATAL:  Peer authentication failed for user "postgres"
make: *** [create-user] Error 2

آسف على مشاكل المبتدئين؟

أعتقد أنني يجب أن أحاول اتباع الخطوات هنا

https://mimic.physionet.org/tutorials/install-mimic-locally-ubuntu/

يجب أن تعمل ملفات التكوين - لست بحاجة إلى sudo. لن يعمل الأمر find لأنه بدا فقط في المجلد المحلي ، والذي كان في ذلك الوقت ~/ . حاول تشغيل locate pg_hba.conf . إذا لم يعثر الموقع على أي شيء ، فحاول تشغيل sudo find / -type f -name "pg_hba.conf" . الأمر sudo هو تجنب الكثير من الرسائل حول "تم رفض الإذن". بمجرد العثور على pg_hba.conf ، قم بتحريره كما يقترح tompollard ، ثم أعد تشغيل postgres باستخدام sudo service postgresql restart

بالطبع ، يمكنك اتباع البرنامج التعليمي الذي قمت بربطه أيضًا ، إنه دليل أكثر قليلاً ولكن قد تجده مفيدًا لأنك تتعلم المزيد من بناء جملة postgres وتتعلم المزيد حول كيفية تنظيم البيانات!

مرحبا alistairewj شكرا جزيلا ،

لقد فعلت ما قلته ووجدت pg_hba.conf ، وقمت بتحريره كما نصحت ، ثم أعدت تشغيل postgres.

edit_pg_hdaconf

لسوء الحظ ، ما زلت أحصل على نفس مصادقة _peer التي فشلت لمشكلة المستخدم "postgres" _

ajay@ajay-h8-1170uk:~/PythonProjects/mimic-code-master/buildmimic/postgres$ make mimic  datadir="/home/ajay/PythonProjects/mimic-code-master/data/"

-----------------------
-- Checking for data --
-----------------------

Data path:  /home/ajay/PythonProjects/mimic-code-master/data/
All data present!

------------------------
-- Building MIMIC-III --
------------------------

MIMICUSER="postgres" MIMIC_DB="mimic" MIMIC_PASSWORD="postgres" MIMIC_SCHEMA="mimiciii" ./create_mimic_user.sh
MIMIC_PASSWORD is set
MIMIC_DB is set to 'mimic'
User is unset, using default 'postgres'
postgres

psql: FATAL:  Peer authentication failed for user "postgres"
make: *** [create-user] Error 2
ajay@ajay-h8-1170uk:~/PythonProjects/mimic-code-master/buildmimic/postgres$

حسنًا ، .... ، لقد اتبعت البرنامج التعليمي للبناء اليدوي ، ويبدو أنه يتم الآن استيراد ملفات csv - هل ستعلمك ما إذا كان هذا يعمل؟

ajay@ajay-h8-1170uk:~/PythonProjects/mimic-code-master/buildmimic/postgres$ psql 'dbname=mimic user=ajay options=--search_path=mimiciii' -f postgres_load_data.sql -v mimic_data_dir="/home/ajay/PythonProjects/mimic-code-master/data/"
Password: 
COPY 58976
COPY 34499
COPY 7567

يبدو أنه نجح ،

ajay@ajay-h8-1170uk:~/PythonProjects/mimic-code-master/buildmimic/postgres$ psql 'dbname=mimic user=ajay options=--search_path=mimiciii' -f postgres_load_data.sql -v mimic_data_dir="/home/ajay/PythonProjects/mimic-code-master/data/"
Password: 
COPY 58976
COPY 34499
COPY 7567




COPY 0
COPY 573146
COPY 4485937
COPY 651047
COPY 125557
COPY 134
COPY 14567
COPY 3882
COPY 12487
COPY 753
COPY 61532
COPY 17527935
COPY 3618991
COPY 27854055
COPY 631726
COPY 2083180
COPY 4349218
COPY 46520
COPY 4156450
COPY 258066
COPY 240095
COPY 73343
COPY 261897

لذلك سأغلق هذه المشكلة - شكرًا جزيلاً على مساعدتك: +1:

لقد واجهت نفس المشكلة كما في OP ، والتي قمت بحلها من خلال استدعاء النص البرمجي بـ DBUSER="$USER" مثل ذلك:

make create-user mimic-gz datadir="$datadir" DBUSER="$USER"

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات