คำถามติดแท็ก postgresql

PostgreSQL เป็นระบบจัดการฐานข้อมูลเชิงวัตถุแบบโอเพ่นซอร์ส (ORDBMS) ที่พร้อมใช้งานสำหรับแพลตฟอร์มหลักทั้งหมดรวมถึง Linux, UNIX, Windows และ OS X โปรดพูดถึง Postgres รุ่นที่แน่นอนของคุณเมื่อถามคำถาม คำถามเกี่ยวกับการดูแลระบบหรือคุณสมบัติขั้นสูงจะส่งตรงไปที่ dba.stackexchange.com

12
จะวางฐานข้อมูล PostgreSQL ได้อย่างไรหากมีการเชื่อมต่อที่ใช้งานอยู่
ฉันต้องเขียนสคริปต์ที่จะทิ้งฐานข้อมูล PostgreSQL อาจมีการเชื่อมต่อกับมันมากมาย แต่สคริปต์ควรละเว้นสิ่งนั้น DROP DATABASE db_nameแบบสอบถามมาตรฐานไม่ทำงานเมื่อมีการเชื่อมต่อที่เปิดอยู่ ฉันจะแก้ปัญหาได้อย่างไร
648 postgresql 


16
แทรกเมื่อมีการอัพเดทซ้ำใน PostgreSQL?
หลายเดือนที่ผ่านมาฉันได้เรียนรู้จากคำตอบใน Stack Overflow วิธีดำเนินการอัปเดตหลายรายการพร้อมกันใน MySQL โดยใช้ไวยากรณ์ต่อไปนี้: INSERT INTO table (id, field, field2) VALUES (1, A, X), (2, B, Y), (3, C, Z) ON DUPLICATE KEY UPDATE field=VALUES(Col1), field2=VALUES(Col2); ตอนนี้ฉันเปลี่ยนมาใช้ PostgreSQL แล้วและนี่ก็ไม่ถูกต้อง มันหมายถึงตารางที่ถูกต้องทั้งหมดดังนั้นฉันคิดว่ามันเป็นเรื่องของการใช้คำหลักที่แตกต่างกัน แต่ฉันไม่แน่ใจว่าในเอกสาร PostgreSQL ที่ครอบคลุมนี้ เพื่อชี้แจงฉันต้องการแทรกหลายสิ่งและหากมีอยู่แล้วเพื่ออัปเดต

9
PostgreSQL: ความแตกต่างระหว่างข้อความและ varchar (การเปลี่ยนแปลงอักขระ)
อะไรคือความแตกต่างระหว่างtextชนิดข้อมูลและcharacter varying( varchar) ชนิดข้อมูล? ตามเอกสารประกอบ หากใช้การเปลี่ยนแปลงอักขระโดยไม่มีตัวระบุความยาวชนิดจะยอมรับสตริงที่มีขนาดใดก็ได้ หลังคือส่วนขยาย PostgreSQL และ นอกจากนี้ PostgreSQL ยังมีประเภทข้อความซึ่งจัดเก็บสตริงที่มีความยาวเท่าใดก็ได้ แม้ว่าข้อความชนิดไม่ได้อยู่ในมาตรฐาน SQL แต่ระบบการจัดการฐานข้อมูล SQL อื่น ๆ ก็มีเช่นกัน ดังนั้นความแตกต่างคืออะไร?


10
PostgreSQL Autoincrement
ฉันเปลี่ยนจาก MySQL เป็น PostgreSQL และสงสัยว่าฉันจะทำค่าการรวมอัตโนมัติได้อย่างไร ฉันเห็นใน PostgreSQL เอกสารประเภทข้อมูล "อนุกรม" แต่ฉันได้รับข้อผิดพลาดทางไวยากรณ์เมื่อใช้มัน (ใน v8.0)

12
เรียกใช้ไฟล์ PostgreSQL .sql โดยใช้อาร์กิวเมนต์บรรทัดคำสั่ง
ฉันมีไฟล์. sql บางไฟล์ที่มีคำสั่ง INSERT หลายพันไฟล์ในนั้นและจำเป็นต้องเรียกใช้ส่วนแทรกเหล่านี้ในฐานข้อมูล PostgreSQL ของฉันเพื่อที่จะเพิ่มลงในตาราง ไฟล์มีขนาดใหญ่ที่ไม่สามารถเปิดและคัดลอกคำสั่ง INSERT ไปยังหน้าต่างแก้ไขและเรียกใช้งานที่นั่น ฉันพบบนอินเทอร์เน็ตที่คุณสามารถใช้สิ่งต่อไปนี้โดยไปที่โฟลเดอร์ bin ของการติดตั้ง PostgreSQL ของคุณ: psql -d myDataBase -a -f myInsertFile ในกรณีของฉัน: psql -d HIGHWAYS -a -f CLUSTER_1000M.sql ฉันถูกขอรหัสผ่านสำหรับผู้ใช้ของฉัน แต่ฉันไม่สามารถป้อนอะไรและเมื่อฉันกด Enter ฉันได้รับข้อผิดพลาดนี้: psql: FATAL: การตรวจสอบรหัสผ่านล้มเหลวสำหรับผู้ใช้ "myUsername" ทำไมมันไม่ให้ฉันใส่รหัสผ่าน มีวิธีรอบนี้หรือไม่เป็นสิ่งสำคัญที่ฉันสามารถเรียกใช้สคริปต์เหล่านี้? ฉันได้รับปัญหานี้โดยการเพิ่มรายการใหม่ในไฟล์ pg_hba.conf ของฉันด้วยโครงสร้างต่อไปนี้: # IPv6 local connections: host myDbName myUserName ::1/128 trust …

29
วิธีรีเซ็ตลำดับคีย์หลักของ postgres เมื่อมันขาดการซิงค์?
ฉันพบปัญหาว่าลำดับคีย์หลักของฉันไม่ซิงค์กับแถวของตาราง นั่นคือเมื่อฉันแทรกแถวใหม่ฉันได้รับข้อผิดพลาดที่สำคัญซ้ำเพราะลำดับที่บอกเป็นนัยในอนุกรมประเภทข้อมูลส่งคืนหมายเลขที่มีอยู่แล้ว ดูเหมือนว่าจะเกิดจากการนำเข้า / คืนไม่รักษาลำดับอย่างถูกต้อง

9
จะอัพเดต + เข้าร่วมใน PostgreSQL ได้อย่างไร?
โดยทั่วไปฉันต้องการทำสิ่งนี้: update vehicles_vehicle v join shipments_shipment s on v.shipment_id=s.id set v.price=s.price_per_vehicle; ฉันค่อนข้างแน่ใจว่าจะทำงานใน MySQL (พื้นหลังของฉัน) แต่ดูเหมือนจะไม่ทำงานใน postgres ข้อผิดพลาดที่ฉันได้รับคือ: ERROR: syntax error at or near "join" LINE 1: update vehicles_vehicle v join shipments_shipment s on v.shi... ^ แน่นอนมีวิธีที่ง่ายในการทำเช่นนี้ แต่ฉันไม่สามารถหาไวยากรณ์ที่เหมาะสม ดังนั้นฉันจะเขียนนี้ใน PostgreSQL อย่างไร
508 postgresql  syntax 

6
Javascript นี้ "ต้อง" คืออะไร?
ฉันพยายามทำให้ Javascript อ่าน / เขียนไปยังฐานข้อมูล PostgreSQL ฉันพบโครงการนี้ใน GitHub ฉันสามารถรับโค้ดตัวอย่างต่อไปนี้เพื่อทำงานในโหนด var pg = require('pg'); //native libpq bindings = `var pg = require('pg').native` var conString = "tcp://postgres:1234@localhost/postgres"; var client = new pg.Client(conString); client.connect(); //queries are queued and executed one after another once the connection becomes available client.query("CREATE TEMP TABLE beatles(name varchar(10), height …


5
`pg_tblspc` หายไปหลังจากติดตั้ง OS X เวอร์ชันล่าสุด (Yosemite หรือ El Capitan)
ผมใช้ postgres จาก homebrew ใน OS X ของฉัน แต่เมื่อฉันรีบูตระบบของฉันบางครั้ง postgres ไม่เริ่มหลังจากรีบูตและเพื่อให้ฉันเองพยายามที่จะเริ่มต้นด้วยแต่แล้วความผิดพลาดที่เกิดขึ้นกับข้อความต่อไปนี้:postgres -D /usr/local/var/postgresFATAL: could not open directory "pg_tblspc": No such file or directory ครั้งสุดท้ายที่มันเกิดขึ้นฉันไม่สามารถกลับสู่สถานะเดิมได้ดังนั้นฉันจึงตัดสินใจถอนการติดตั้งระบบ postgres ทั้งหมดแล้วติดตั้งใหม่และสร้างผู้ใช้ตารางชุดข้อมูลและอื่น ๆ ... มันน่าขยะแขยง แต่ มันมักจะเกิดขึ้นในระบบของฉันพูดครั้งเดียวในไม่กี่เดือน เหตุใดpg_tblspcไฟล์ดังกล่าวจึงสูญหายบ่อยครั้ง และมีสิ่งใดบ้างที่ฉันสามารถทำได้เพื่อหลีกเลี่ยงการสูญหายของไฟล์? ฉันไม่ได้อัปเกรด homebrew และ postgres เป็นเวอร์ชันล่าสุด (เช่นฉันใช้เวอร์ชั่นเดียวกัน) นอกจากนี้ทุกสิ่งที่ฉันทำในฐานข้อมูล postgres ก็คือลบตารางและเติมข้อมูลใหม่ทุกวัน ฉันไม่ได้เปลี่ยนผู้ใช้รหัสผ่าน ฯลฯ ... แก้ไข (mbannert): ฉันรู้สึกว่าจำเป็นต้องเพิ่มสิ่งนี้เนื่องจากเธรดเป็นที่นิยมสูงสุดใน google สำหรับปัญหานี้และสำหรับอาการหลายอย่างก็แตกต่างกัน …

12
นำเข้าดัมพ์ SQL ลงในฐานข้อมูล PostgreSQL
เราสลับโฮสต์และโฮสต์เก่าให้ SQL dump ของฐานข้อมูล PostgreSQL ของเว็บไซต์ของเรา ตอนนี้ฉันกำลังพยายามตั้งค่านี้บนเซิร์ฟเวอร์ WAMP ท้องถิ่นเพื่อทดสอบ ปัญหาเดียวคือฉันไม่มีความคิดวิธีนำเข้าฐานข้อมูลนี้ใน PostgreSQL 9 ที่ฉันตั้งค่าไว้ ฉันลอง pgAdmin III แต่ดูเหมือนไม่พบฟังก์ชัน 'นำเข้า' ดังนั้นฉันเพิ่งเปิดตัวแก้ไข SQL และวางเนื้อหาของการถ่ายโอนข้อมูลที่นั่นและดำเนินการมันจะสร้างตาราง แต่มันทำให้ฉันมีข้อผิดพลาดเมื่อมันพยายามที่จะนำข้อมูลในนั้น ERROR: syntax error at or near "t" LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view... The lines: COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin; …

7
แทรกข้อความด้วยเครื่องหมายคำพูดเดี่ยวใน PostgreSQL
test(id,name)ผมมีตาราง user's logฉันจำเป็นต้องใส่ค่าที่ชอบ: 'my user', customer's, insert into test values (1,'user's log'); insert into test values (2,''my users''); insert into test values (3,'customer's'); ฉันได้รับข้อผิดพลาดหากฉันเรียกใช้คำสั่งใด ๆ ข้างต้น หากมีวิธีการใด ๆ ที่จะทำอย่างถูกต้องกรุณาแบ่งปัน ฉันไม่ต้องการข้อความใด ๆ ที่เตรียมไว้ เป็นไปได้โดยใช้กลไกการหลบหนี sql?

15
Postgresql: การตรวจสอบรหัสผ่านล้มเหลวสำหรับผู้ใช้“ postgres”
ฉันติดตั้ง PostgreSQL 8.4 แล้วไคลเอนต์ Postgres และ Pgadmin 3. การตรวจสอบสิทธิ์ล้มเหลวสำหรับผู้ใช้ "postgres" สำหรับทั้งไคลเอ็นต์คอนโซลและ Pgadmin ฉันพิมพ์ชื่อผู้ใช้ว่า "postgres" และรหัสผ่าน "postgres" เพราะใช้งานได้ก่อนหน้านี้ แต่ตอนนี้รับรองความถูกต้องล้มเหลว ฉันทำก่อนสองครั้งโดยไม่มีปัญหานี้ ฉันควรทำอย่างไรดี? แล้วจะเกิดอะไรขึ้น psql -U postgres -h localhost -W Password for user postgres: psql: FATAL: password authentication failed for user "postgres" FATAL: password authentication failed for user "postgres"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.