ข้อผิดพลาดในการรับรองความถูกต้อง mapnik gis ระหว่างการบู๊ต

ฉันใช้ Tilelite เพื่อแสดงแผนที่ ฉันต้องการให้มันทำงานในเวลาที่เซิร์ฟเวอร์เริ่มทำงาน ฉันได้สร้างสคริปต์ที่รันคำสั่งต่อไปนี้เมื่อเริ่มต้น:
/usr/local/bin/liteserv.py /home/Uname/bin/mapnik/my_osm.xml --caching --debug=False
กระบวนการล้มเหลวด้วย:
FATAL: การรับรองความถูกต้องของข้อมูลประจำตัวล้มเหลวสำหรับผู้ใช้ "user_name" (พบระหว่างการแยกวิเคราะห์เลเยอร์ 'สันทนาการ')
ตามหน้านี้:

http://wiki.openstreetmap.org/wiki/Mapnik#Authentication_failed

ฉันรันคำสั่งต่อไปนี้:

./generate_xml.py osm.xml my_osm.xml --accept-none --dbname gis --สัญลักษณ์ ./สัญลักษณ์/ --world_boundaries ./world_boundaries/

ตอนนี้ฉันได้รับ:

RuntimeError: ข้อผิดพลาด PSQL:
FATAL: การรับรองความถูกต้องของข้อมูลประจำตัวล้มเหลวสำหรับผู้ใช้ "รูท" (พบระหว่างการแยกวิเคราะห์เลเยอร์ 'สันทนาการ')

ฉันยังใหม่กับ postgres มากดังนั้นจึงมีคนให้คำแนะนำง่ายๆ เกี่ยวกับวิธีการแก้ไขปัญหานี้แก่ฉัน


person P Hemans    schedule 02.02.2011    source แหล่งที่มา


คำตอบ (1)


หากคุณโทร ./generate_xml.py --help คุณจะเห็นตัวเลือกต่างๆ หนึ่งในนั้นคือ --user หากคุณไม่ระบุและส่งผ่าน --accept-none จะไม่มีการเขียนผู้ใช้เฉพาะลงใน Mapnik XML ซึ่งหมายความว่าเมื่อ Mapnik พยายามเชื่อมต่อกับฐานข้อมูล postgres ผู้ใช้ปัจจุบันจะถูกนำมาใช้ ดังนั้น หากคุณเรียกใช้สคริปต์นั้นในฐานะรูท ระบบจะใช้ 'รูท'

ดังนั้น คุณต้องเรียกใช้สคริปต์นั้นในฐานะผู้ใช้ยูนิกซ์ที่สามารถเชื่อมต่อกับ postgres ได้ หรือคุณต้องย้อนกลับและสร้าง XML ใหม่ และฝังชื่อผู้ใช้ที่สามารถเชื่อมต่อกับ postgres ได้ อย่างหลังน่าจะง่ายกว่า นี่คือสิ่งที่ฉันจะทำ:

สมมติว่าการใช้ยูนิกซ์ปกติของคุณชื่อ 'heman' do:

$ sudo su postgres
$ createuser heman # make superuser
$ exit
$ ./generate_xml.py osm.xml --accept-none --user heman --dbname gis --symbols ./symbols/ --world_boundaries ./world_boundaries/
$ liteserv.py osm.xml --caching --debug=False

รายละเอียดเพิ่มเติมเกี่ยวกับ postgres และวิธีเปิดใช้งาน "trust" เพื่อให้คุณสามารถเชื่อมต่อในฐานะผู้ใช้ "postgres" ได้ที่นี่: http://dbsgeo.com/foss4g2010/html/troubleshooting.html#troubleshooting-postgresql-connections

person Dane Springmeyer    schedule 02.02.2011
comment
ผู้ใช้เดิมที่ฉันใช้ (ก่อนที่จะเปลี่ยนเป็นรูท) จริงๆ แล้วเป็นผู้ใช้ขั้นสูง select * จาก pg_user แสดงเป็น su ฉันจะลองใช้สิ่งที่ไว้วางใจ pg - person P Hemans; 02.02.2011
comment
การเปลี่ยนความไว้วางใจได้ผล อาจจะไม่ใช่เส้นทางที่ปลอดภัยที่สุดแต่สำหรับตอนนี้ก็เพียงพอแล้ว ขอบคุณสำหรับการตอบสนองอย่างรวดเร็ว. - person P Hemans; 02.02.2011
comment
@Dane คุณช่วยมอบลิงก์ที่ใช้งานได้เพื่อช่วยเปิดใช้งานความไว้วางใจกับ postgreSQL ได้ไหม ขอบคุณ - person ; 03.02.2014