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

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

3
ฉันจะแปลงจำนวนเต็มเป็นสตริงเป็นส่วนหนึ่งของแบบสอบถาม PostgreSQL ได้อย่างไร
ฉันจะแปลงจำนวนเต็มเป็นสตริงเป็นส่วนหนึ่งของแบบสอบถาม PostgreSQL ได้อย่างไร ตัวอย่างเช่นฉันต้องการ: SELECT * FROM table WHERE <some integer> = 'string of numbers' ที่<some integer>สามารถยาวได้ตั้งแต่ 1 ถึง 15 หลัก

2
IN เทียบกับตัวดำเนินการใด ๆ ใน PostgreSQL
ความแตกต่างระหว่างINและANYตัวดำเนินการใน PostgreSQL คืออะไร? กลไกการทำงานของทั้งสองดูเหมือนจะเหมือนกัน ใครช่วยอธิบายเรื่องนี้ด้วยตัวอย่างได้ไหม


3
ค้นหาองค์ประกอบอาร์เรย์ภายในประเภท JSON
ฉันกำลังพยายามทดสอบjsonประเภทใน PostgreSQL 9.3 ฉันมีjsonคอลัมน์ที่เรียกว่าในตารางที่เรียกว่าdata reportsJSON มีลักษณะดังนี้: { "objects": [ {"src":"foo.png"}, {"src":"bar.png"} ], "background":"background.png" } ฉันต้องการสอบถามตารางสำหรับรายงานทั้งหมดที่ตรงกับค่า "src" ในอาร์เรย์ "วัตถุ" ยกตัวอย่างเช่นมันเป็นไปได้ที่จะสอบถาม DB สำหรับรายงานทั้งหมดที่จับคู่'src' = 'foo.png'? ฉันเขียนข้อความค้นหาที่ตรงกับ"background": SELECT data AS data FROM reports where data->>'background' = 'background.png' แต่เนื่องจาก"objects"มีอาร์เรย์ของค่าดูเหมือนว่าฉันจะเขียนสิ่งที่ใช้งานไม่ได้ มันเป็นไปได้ที่จะสอบถาม DB สำหรับรายงานทั้งหมดที่จับคู่'src' = 'foo.png'? ฉันได้ตรวจสอบแหล่งที่มาเหล่านี้แล้ว แต่ยังไม่สามารถรับได้: http://www.postgresql.org/docs/9.3/static/functions-json.html ฉันจะสอบถามโดยใช้ช่องภายในประเภทข้อมูล PostgreSQL JSON ใหม่ได้อย่างไร http://michael.otacoo.com/postgresql-2/postgres-9-3-feature-highlight-json-operators/ ฉันได้ลองทำสิ่งนี้เช่นกัน แต่ไม่มีประโยชน์: …
118 sql  json  postgresql  jsonb  lateral 

2
Postgresql: ข้อ จำกัด ที่ไม่ซ้ำกันตามเงื่อนไข
ฉันต้องการเพิ่มข้อ จำกัด ที่บังคับใช้ความเป็นเอกลักษณ์ในคอลัมน์ในส่วนหนึ่งของตารางเท่านั้น ALTER TABLE stop ADD CONSTRAINT myc UNIQUE (col_a) WHERE (col_b is null); WHEREส่วนข้างต้นเป็นคิดนึก วิธีใดในการทำเช่นนี้ หรือฉันควรกลับไปที่กระดานวาดภาพเชิงสัมพันธ์?

7
PostgreSQL คืออะไรอธิบายบอกฉันได้อย่างแน่นอน
ผลลัพธ์อธิบายของ MySQL ค่อนข้างตรงไปตรงมา PostgreSQL มีความซับซ้อนกว่าเล็กน้อย ฉันไม่สามารถหาแหล่งข้อมูลที่ดีที่อธิบายได้เช่นกัน คุณสามารถอธิบายสิ่งที่อธิบายได้อย่างชัดเจนหรืออย่างน้อยก็ชี้ให้ฉันเห็นทิศทางของทรัพยากรที่ดี
116 postgresql 

8
จำลองสร้างฐานข้อมูลหากไม่มีอยู่สำหรับ PostgreSQL?
ฉันต้องการสร้างฐานข้อมูลที่ไม่มีผ่าน JDBC PostgreSQL ไม่รองรับcreate if not existsไวยากรณ์ซึ่งแตกต่างจาก MySQL วิธีที่ดีที่สุดในการทำสิ่งนี้คืออะไร? แอปพลิเคชันไม่ทราบว่ามีฐานข้อมูลอยู่หรือไม่ ควรตรวจสอบและว่ามีฐานข้อมูลอยู่หรือไม่ควรใช้ ดังนั้นจึงเหมาะสมที่จะเชื่อมต่อกับฐานข้อมูลที่ต้องการและหากการเชื่อมต่อล้มเหลวเนื่องจากไม่มีฐานข้อมูลก็ควรสร้างฐานข้อมูลใหม่ (โดยเชื่อมต่อกับpostgresฐานข้อมูลเริ่มต้น) ฉันตรวจสอบรหัสข้อผิดพลาดที่ Postgres ส่งคืนแล้ว แต่ไม่พบรหัสที่เกี่ยวข้องที่มีสายพันธุ์เดียวกัน อีกวิธีหนึ่งในการบรรลุเป้าหมายนี้คือการเชื่อมต่อกับpostgresฐานข้อมูลและตรวจสอบว่ามีฐานข้อมูลที่ต้องการอยู่หรือไม่ ข้อที่สองค่อนข้างน่าเบื่อในการออกกำลังกาย มีวิธีใดบ้างที่จะบรรลุฟังก์ชันนี้ใน Postgres?
115 sql  database  postgresql  jdbc  ddl 

5
อะไรคือความแตกต่างระหว่าง CHARACTER VARYING และ VARCHAR ใน PostgreSQL?
จอห์นใช้ในสถานที่ที่ผมใช้CHARACTER VARYING VARCHARฉันเป็นมือใหม่ในขณะที่เขาเป็นผู้เชี่ยวชาญ สิ่งนี้ชี้ให้ฉันเห็นว่ามีบางอย่างที่ฉันไม่รู้ อะไรคือความแตกต่างระหว่าง CHARACTER VARYING และ VARCHAR ใน PostgreSQL?

3
Postgres:“ ข้อผิดพลาด: แผนแคชต้องไม่เปลี่ยนประเภทผลลัพธ์”
ข้อยกเว้นนี้ถูกส่งโดยเซิร์ฟเวอร์ PostgreSQL 8.3.7 ไปยังแอปพลิเคชันของฉัน ไม่มีใครรู้ว่าข้อผิดพลาดนี้หมายถึงอะไรและฉันสามารถทำอะไรได้บ้าง? ERROR: cached plan must not change result type STATEMENT: select code,is_deprecated from country where code=$1
115 postgresql 

6
เหตุใดจำนวนเต็มที่ไม่ได้ลงชื่อจึงไม่มีใน PostgreSQL
ฉันเจอโพสต์นี้ ( ความแตกต่างระหว่าง tinyint, smallint, mediumint, bigint และ int ใน MySQL คืออะไร ) และตระหนักว่า PostgreSQL ไม่รองรับจำนวนเต็มที่ไม่ได้ลงชื่อ ใครช่วยอธิบายได้ไหมว่าทำไมถึงเป็นเช่นนั้น? ส่วนใหญ่ฉันใช้จำนวนเต็มที่ไม่ได้ลงชื่อเป็นคีย์หลักที่เพิ่มขึ้นโดยอัตโนมัติใน MySQL ในการออกแบบเช่นนี้ฉันจะเอาชนะสิ่งนี้ได้อย่างไรเมื่อฉันพอร์ตฐานข้อมูลจาก MySQL ไปยัง PostgreSQL ขอบคุณ.

3
ส่งออกข้อมูลตาราง Postgresql โดยใช้ pgAdmin
ฉันใช้ pgAdmin เวอร์ชัน 1.14.3 เวอร์ชันฐานข้อมูล PostgreSQL คือ 9.1 ฉันได้รับสคริปต์ Db ทั้งหมดสำหรับการสร้างตาราง แต่ไม่สามารถส่งออกข้อมูลทั้งหมดภายในตารางได้ ไม่พบตัวเลือกใด ๆ ในการส่งออกข้อมูลในรูปแบบสคริปต์ db

2
มีวิธีตั้งเวลา“ หมดอายุ” หลังจากนั้นรายการข้อมูลจะถูกลบโดยอัตโนมัติใน PostgreSQL หรือไม่?
มีวิธีใดที่จะตั้งเรียงลำดับของ "หมดอายุ" เวลาในรายการข้อมูลในบางPostgreSQL ? ฉันคิดเกี่ยวกับสิ่งที่เทียบเท่ากับEXPIREใน Redis ฉันไม่ต้องการจัดเก็บการประทับเวลาจากนั้นกำหนดรหัสงานcronบางประเภทด้วยตนเองเพื่อตรวจสอบว่ารายการใดหมดอายุแล้ว ฉันกำลังพยายามค้นหาว่ามีคุณสมบัติดั้งเดิมใน PostgreSQL ที่จะให้ฟังก์ชันประเภทนี้หรือไม่หรือหากจะขอคุณสมบัติดังกล่าวเพื่อเผยแพร่ในอนาคต
115 database  postgresql  ttl 

6
สร้างฐานข้อมูลจากบรรทัดคำสั่ง
ฉันกำลังพยายามสร้างฐานข้อมูลจากบรรทัดคำสั่ง ระบบปฏิบัติการของฉันคือ centos และเวอร์ชัน postgres คือ 10.9 sudo -u postgres psql createdb test Password for user test: ทำไมต้องถามฉันโดยผู้ใช้
115 postgresql 

8
รูปแบบประสิทธิภาพของแบบสอบถาม PostgreSQL LIKE
ฉันเห็นการเปลี่ยนแปลงค่อนข้างมากในเวลาตอบสนองเกี่ยวกับการLIKEสืบค้นตารางใดตารางหนึ่งในฐานข้อมูลของฉัน บางครั้งฉันจะได้ผลลัพธ์ภายใน 200-400 มิลลิวินาที (ยอมรับได้มาก) แต่บางครั้งอาจใช้เวลามากถึง 30 วินาทีในการส่งคืนผลลัพธ์ ฉันเข้าใจว่าLIKEข้อความค้นหามีทรัพยากรมาก แต่ฉันไม่เข้าใจว่าทำไมเวลาตอบกลับจึงมีความแตกต่างกันมาก ฉันได้สร้างดัชนี btree บนowner1สนาม แต่ฉันไม่คิดว่ามันจะช่วยในการLIKEสืบค้น ใครมีไอเดียบ้าง SQL ตัวอย่าง: SELECT gid, owner1 FORM parcels WHERE owner1 ILIKE '%someones name%' LIMIT 10 ฉันได้ลองแล้ว: SELECT gid, owner1 FROM parcels WHERE lower(owner1) LIKE lower('%someones name%') LIMIT 10 และ: SELECT gid, owner1 FROM parcels WHERE lower(owner1) …

5
สตริงลิเทอรัลและอักขระ Escape ใน postgresql
การพยายามแทรกอักขระหลีกลงในตารางจะทำให้เกิดคำเตือน ตัวอย่างเช่น: create table EscapeTest (text varchar(50)); insert into EscapeTest (text) values ('This is the first part \n And this is the second'); สร้างคำเตือน: WARNING: nonstandard use of escape in a string literal ( โดยใช้ PSQL 8.2.2 ) ใครทราบวิธีการแก้ไขปัญหานี้

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