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

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

1
วิธีสร้างดัชนีบนฟิลด์ JSON ใน Postgres
ใน PostgreSQL 9.3 Beta 2 (?) ฉันจะสร้างดัชนีบนฟิลด์ JSON ได้อย่างไร ฉันลองใช้ตัว->ดำเนินการที่ใช้hstoreแต่ได้รับข้อผิดพลาดต่อไปนี้: CREATE TABLE publishers(id INT, info JSON); CREATE INDEX ON publishers((info->'name')); ข้อผิดพลาด: ประเภทข้อมูล json ไม่มีคลาสตัวดำเนินการเริ่มต้นสำหรับวิธีการเข้าถึง "btree" คำแนะนำ: คุณต้องระบุคลาสตัวดำเนินการสำหรับดัชนีหรือกำหนดคลาสตัวดำเนินการเริ่มต้นสำหรับชนิดข้อมูล


9
SQL SELECT speed int เทียบกับ varchar
ฉันอยู่ในขั้นตอนการสร้างตารางและมันทำให้ฉันสงสัย ถ้าฉันเก็บไว้บอกว่ารถที่มียี่ห้อ (fx BMW, Audi ect.) มันจะสร้างความแตกต่างกับความเร็วในการสืบค้นหรือไม่ถ้าฉันเก็บ make เป็น int หรือ varchar ก็คือ SELECT * FROM table WHERE make = 5 AND ...; เร็ว / ช้ากว่า SELECT * FROM table WHERE make = 'audi' AND ...; หรือความเร็วจะมากหรือน้อยเท่ากัน?

2
ลำดับ PostgreSQL array_agg
ตาราง 'สัตว์': animal_name animal_type Tom Cat Jerry Mouse Kermit Frog คำถาม: SELECT array_to_string(array_agg(animal_name),';') animal_names, array_to_string(array_agg(animal_type),';') animal_types FROM animals; ผลลัพธ์ที่คาดหวัง: Tom;Jerry;Kerimt, Cat;Mouse;Frog OR Tom;Kerimt;Jerry, Cat;Frog;Mouse ฉันแน่ใจได้หรือไม่ว่าลำดับในฟังก์ชันการรวมแรกจะเหมือนกับในฟังก์ชันที่สองเสมอ ฉันหมายความว่าฉันไม่ต้องการรับ: Tom;Jerry;Kermit, Frog;Mouse,Cat

9
จะลบค่าประเภท enum ใน postgres ได้อย่างไร?
ฉันจะลบค่าประเภท enum ที่ฉันสร้างใน postgresql ได้อย่างไร create type admin_level1 as enum('classifier', 'moderator', 'god'); เช่นฉันต้องการลบออกmoderatorจากรายการ ฉันไม่พบสิ่งใดในเอกสาร ฉันใช้ Postgresql 9.3.4
109 postgresql  enums 

3
จะเพิ่มการเชื่อมต่อสูงสุดใน postgres ได้อย่างไร?
ฉันใช้ Postgres DB สำหรับผลิตภัณฑ์ของฉัน ขณะทำการแทรกแบตช์โดยใช้ slick 3 ฉันได้รับข้อความแสดงข้อผิดพลาด: org.postgresql.util.PSQLException: FATAL: ขออภัยมีลูกค้ามากเกินไปแล้ว การดำเนินการแทรกแบตช์ของฉันจะมากกว่าหลายพันรายการ การเชื่อมต่อสูงสุดสำหรับ postgres ของฉันคือ 100 จะเพิ่มการเชื่อมต่อสูงสุดได้อย่างไร?
109 postgresql 

1
เพิ่มมูลค่าใน Postgres
ฉันเป็นมือใหม่เล็กน้อยสำหรับ postgres ฉันต้องการรับค่า (ซึ่งเป็นจำนวนเต็ม) ในฟิลด์ในตาราง postgres และเพิ่มทีละหนึ่ง ตัวอย่างเช่นถ้าตาราง 'ผลรวม' มี 2 คอลัมน์ 'name' และ 'total' และ Bill มีทั้งหมด 203 คำสั่ง SQL ที่ฉันจะใช้เพื่อย้ายทั้งหมดของ Bill เป็น 204 คืออะไร?



3
Python / postgres / psycopg2: รับ ID ของแถวที่เพิ่งแทรก
ฉันใช้ Python และ psycopg2 เพื่อเชื่อมต่อกับ postgres เมื่อฉันแทรกแถว ... sql_string = "INSERT INTO hundred (name,name_slug,status) VALUES (" sql_string += hundred_name + ", '" + hundred_slug + "', " + status + ");" cursor.execute(sql_string) ... ฉันจะรับ ID ของแถวที่เพิ่งใส่ได้อย่างไร? พยายาม: hundred = cursor.fetchall() ส่งกลับข้อผิดพลาดขณะใช้RETURNING id: sql_string = "INSERT INTO domes_hundred (name,name_slug,status) VALUES (" …

5
วิธีรีสตาร์ท Postgresql
ฉันติดตั้ง Postgresql 9.3 และ 9.4 บนเครื่อง Linux Mint แล้ว ฉันจะรีสตาร์ท postgresql 9.4 ได้อย่างไร วิธีการรีสตาร์ททั้งสองเวอร์ชันพร้อมกันก็ใช้ได้เช่นกัน

7
วิธีที่รวดเร็วในการค้นหาจำนวนแถวของตารางใน PostgreSQL
ฉันต้องการทราบจำนวนแถวในตารางเพื่อคำนวณเปอร์เซ็นต์ ถ้าจำนวนรวมมากกว่าค่าคงที่ที่กำหนดไว้ล่วงหน้าฉันจะใช้ค่าคงที่ มิฉะนั้นฉันจะใช้จำนวนแถวจริง ฉันสามารถใช้SELECT count(*) FROM table. แต่ถ้าค่าคงที่ของฉันคือ500,000และฉันมี5,000,000,000แถวในตารางการนับแถวทั้งหมดจะเสียเวลามาก เป็นไปได้ไหมที่จะหยุดนับทันทีที่ค่าคงที่ของฉันเกิน ฉันต้องการจำนวนแถวที่แน่นอนตราบใดที่มันต่ำกว่าขีด จำกัด ที่กำหนด มิฉะนั้นหากการนับเกินขีด จำกัด ฉันจะใช้ค่าขีด จำกัด แทนและต้องการให้คำตอบเร็วที่สุด สิ่งนี้: SELECT text,count(*), percentual_calculus() FROM token GROUP BY text ORDER BY count DESC;
108 sql  postgresql  count  row 

2
วิธีสร้างฟังก์ชันที่ไม่คืนค่าอะไร
ฉันต้องการเขียนฟังก์ชันด้วยpl/pgsql. ฉันใช้PostgresEnterprise Manager v3และใช้เชลล์เพื่อสร้างฟังก์ชัน แต่ในเชลล์ฉันต้องกำหนดประเภทผลตอบแทน ถ้าฉันไม่กำหนดประเภทการส่งคืนฉันจะไม่สามารถสร้างฟังก์ชันได้ จะสร้างฟังก์ชันที่ไม่มีผลตอบแทนได้อย่างไรเช่น Function ที่สร้างตารางใหม่

6
ฉันจะลบจำนวนแถวคงที่ด้วยการเรียงลำดับใน PostgreSQL ได้อย่างไร
Наэтотвопросестьответына Stack Overflow нарусском : DELETE и LIMIT в PostgreSQL ฉันกำลังพยายามพอร์ตการสืบค้น MySQL เก่าไปยัง PostgreSQL แต่ฉันมีปัญหากับคำถามนี้: DELETE FROM logtable ORDER BY timestamp LIMIT 10; PostgreSQL ไม่อนุญาตให้มีการสั่งซื้อหรือ จำกัด ไวยากรณ์การลบและตารางไม่มีคีย์หลักดังนั้นฉันจึงไม่สามารถใช้เคียวรีย่อยได้ นอกจากนี้ผมต้องการที่จะรักษาพฤติกรรมที่แบบสอบถามลบว่าจำนวนที่กำหนดหรือบันทึก - ตัวอย่างเช่นถ้าตารางมี 30 แถว แต่พวกเขาทั้งหมดมีการประทับเวลาเดียวกันผมยังคงต้องการที่จะลบ 10 แม้ว่ามันจะไม่ได้เรื่อง ซึ่ง 10. ดังนั้น; ฉันจะลบจำนวนแถวคงที่ด้วยการเรียงลำดับใน PostgreSQL ได้อย่างไร แก้ไข:ไม่มีคีย์หลักหมายความว่าไม่มีlog_idคอลัมน์หรือคล้ายกัน อาความสุขของระบบเดิม!
108 sql  postgresql 

5
Postgresql SELECT หากมีสตริง
ดังนั้นฉันจึงมีใน Postgresql ของฉัน: TAG_TABLE ========================== id tag_name -------------------------- 1 aaa 2 bbb 3 ccc เพื่อให้ปัญหาของฉันง่ายขึ้นสิ่งที่ฉันต้องการทำคือ SELECT "id" จาก TAG_TABLE เมื่อสตริง "aaaaaaaa" มี "tag_name" ตามหลักการแล้วควรส่งคืนเฉพาะ "1" ซึ่งเป็น ID สำหรับชื่อแท็ก "aaa" นี่คือสิ่งที่ฉันกำลังทำอยู่: SELECT id FROM TAG_TABLE WHERE 'aaaaaaaaaaa' LIKE '%tag_name%' แต่เห็นได้ชัดว่าสิ่งนี้ไม่ได้ผลเนื่องจาก postgres คิดว่า '% tag_name%' หมายถึงรูปแบบที่มีสตริงย่อย 'tag_name' แทนที่จะเป็นค่าข้อมูลจริงในคอลัมน์นั้น ฉันจะส่ง tag_name ไปยังรูปแบบได้อย่างไร ??
108 sql  postgresql 

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