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

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

3
ฉันจะแก้ไขตาราง PostgreSQL และสร้างคอลัมน์ที่ไม่ซ้ำได้อย่างไร
ฉันมีตารางใน PostgreSQL ซึ่ง schema มีลักษณะดังนี้: CREATE TABLE "foo_table" ( "id" serial NOT NULL PRIMARY KEY, "permalink" varchar(200) NOT NULL, "text" varchar(512) NOT NULL, "timestamp" timestamp with time zone NOT NULL ) ตอนนี้ฉันต้องการทำให้ลิงก์ถาวรที่ไม่ซ้ำกันทั่วทั้งตารางโดยการเปลี่ยนแปลงตาราง ใครช่วยฉันได้ไหม TIA

4
postgresql COUNT (DISTINCT …) ช้ามาก
ฉันมีแบบสอบถาม SQL ที่ง่ายมาก: SELECT COUNT(DISTINCT x) FROM table; ตารางของฉันมีประมาณ 1.5 ล้านแถว แบบสอบถามนี้ทำงานค่อนข้างช้า ใช้เวลาประมาณ 7.5 วินาทีเมื่อเทียบกับ SELECT COUNT(x) FROM table; ซึ่งใช้เวลาประมาณ 435ms มีวิธีใดที่จะเปลี่ยนข้อความค้นหาของฉันเพื่อปรับปรุงประสิทธิภาพหรือไม่ ฉันได้ลองจัดกลุ่มและทำการนับเป็นประจำเช่นเดียวกับการวางดัชนีบน x; ทั้งคู่มีเวลาดำเนินการ 7.5 วินาทีเหมือนกัน

14
รับ“ [archiver] เวอร์ชันที่ไม่รองรับ (1.13) ในส่วนหัวของไฟล์” เมื่อเรียกใช้ pg_restore
ฉันเพิ่งอัพเกรดเป็น postgres 10.2 บน mac os ซึ่งตรงกับ 10.2 บน heroku ฉันพยายามดาวน์โหลดสำเนาของฐานข้อมูลและกู้คืนในเครื่อง ก่อนการอัพเกรดการคืนค่าจะทำงานได้ดี ฉันวิ่ง pg_restore --verbose --clean --no-acl --no-owner -h localhost -d database_name backup.dump แต่ฉันได้รับข้อผิดพลาดนี้: pg_restore: [archiver] รุ่นที่ไม่สนับสนุน (1.13) ในส่วนหัวของไฟล์ ฐานข้อมูลดูเหมือนว่าจะทำงานตกลง มันเป็นแอพพลิเคชั่นทางรถไฟและฉันอัพเกรด pg gems ฉันวิ่งได้rake db:createและdb:migrateก็สบายดี

7
เลือกประเภทข้อมูลของฟิลด์เป็น postgres
ฉันจะรับประเภทข้อมูลของฟิลด์เฉพาะจากตารางเป็น postgres ได้อย่างไร ตัวอย่างเช่นฉันมีตารางต่อไปนี้ student_details (จำนวนเต็ม stu_id, stu_name varchar (30), tim_damp join_date); ในการนี้ใช้ชื่อฟิลด์ / หรือวิธีอื่นฉันต้องได้รับประเภทข้อมูลของฟิลด์เฉพาะ มีความเป็นไปได้ไหม?
165 postgresql 

2
ละเว้นเขตเวลาทั้งหมดใน Rails และ PostgreSQL
ฉันกำลังจัดการกับวันที่และเวลาใน Rails และ Postgres และพบกับปัญหานี้: ฐานข้อมูลอยู่ใน UTC ผู้ใช้ตั้งค่าเขตเวลาที่เลือกในแอพ Rails แต่จะใช้เมื่อรับเวลาท้องถิ่นของผู้ใช้เพื่อเปรียบเทียบเวลาเท่านั้น ผู้ใช้เก็บเวลาหนึ่งพูด 17 มีนาคม 2012 เวลา 19.00 น. ฉันไม่ต้องการให้มีการแปลงเขตเวลาหรือเขตเวลาที่จะจัดเก็บ ฉันแค่ต้องการบันทึกวันที่และเวลา ด้วยวิธีนี้หากผู้ใช้เปลี่ยนเขตเวลามันจะยังคงแสดง 17 มีนาคม 2012, 19:00 ฉันใช้เขตเวลาที่ผู้ใช้ระบุเพื่อรับบันทึก 'ก่อนหน้า' หรือ 'หลัง' เวลาปัจจุบันในเขตเวลาท้องถิ่นของผู้ใช้ ขณะนี้ฉันใช้ 'การประทับเวลาที่ไม่มีเขตเวลา' แต่เมื่อฉันดึงข้อมูลระเบียนทางรถไฟ (?) จะแปลงให้เป็นเขตเวลาในแอปที่ฉันไม่ต้องการ Appointment.first.time => Fri, 02 Mar 2012 19:00:00 UTC +00:00 เนื่องจากระเบียนในฐานข้อมูลดูเหมือนว่าจะออกมาในรูปแบบ UTC แฮ็คของฉันคือใช้เวลาปัจจุบันลบเขตเวลาด้วย 'Date.strptime (str, "% m …

3
วิธีเพิ่มข้อ จำกัด “ เมื่อลบแบบเรียงซ้อน”?
ใน PostgreSQL 8 เป็นไปได้หรือไม่ที่จะเพิ่มON DELETE CASCADESไปยังคีย์ต่างประเทศทั้งสองในตารางต่อไปนี้ # \d scores Table "public.scores" Column | Type | Modifiers ---------+-----------------------+----------- id | character varying(32) | gid | integer | money | integer | not null quit | boolean | last_ip | inet | Foreign-key constraints: "scores_gid_fkey" FOREIGN KEY (gid) REFERENCES games(gid) "scores_id_fkey" FOREIGN …

4
SQL, Postgres OIDs, มีอะไรบ้างและทำไมจึงมีประโยชน์?
ฉันกำลังดูการสร้างตาราง PostgreSQL และฉันพบสิ่งนี้: CREATE TABLE ( ... ) WITH ( OIDS = FALSE ); ฉันอ่านเอกสารที่จัดทำโดย postgres และฉันรู้แนวคิดของตัวระบุวัตถุจาก OOP แต่ฉันก็ยังไม่เข้าใจ เหตุใดตัวระบุดังกล่าวจึงมีประโยชน์ในฐานข้อมูล การทำให้ข้อความค้นหาสั้นลง? ควรใช้เมื่อใด

6
ฉันจะแปลงช่วงเวลาเป็นจำนวนชั่วโมงด้วย postgres ได้อย่างไร
บอกว่าฉันมีช่วงเวลาเหมือน 4 days 10:00:00 ในภายหลัง ฉันจะแปลงให้เป็นจำนวนชั่วโมง (106 ในกรณีนี้ได้อย่างไร) มีฟังก์ชั่นหรือฉันควรกัดกระสุนและทำสิ่งที่ชอบ extract(days, my_interval) * 24 + extract(hours, my_interval)

15
Postgresql - ไม่สามารถวางฐานข้อมูลเนื่องจากการเชื่อมต่ออัตโนมัติกับฐานข้อมูล
เมื่อใดก็ตามที่ฉันพยายามจะทิ้งฐานข้อมูลฉันจะได้รับ: ERROR: database "pilot" is being accessed by other users DETAIL: There is 1 other session using the database. เมื่อฉันใช้: SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'TARGET_DB'; ฉันยุติการเชื่อมต่อจากฐานข้อมูลนั้น แต่ถ้าฉันพยายามที่จะวางฐานข้อมูลหลังจากนั้นบางคนเชื่อมต่อกับฐานข้อมูลนั้นโดยอัตโนมัติและให้ข้อผิดพลาดนี้ สิ่งที่จะทำเช่นนั้น? ไม่มีใครใช้ฐานข้อมูลนี้ยกเว้นฉัน

5
วิธีสร้างการสำรองข้อมูลของตารางเดียวในฐานข้อมูล postgres
มีวิธีสร้างการสำรองข้อมูลของตารางเดียวภายในฐานข้อมูลโดยใช้ postgres หรือไม่? แล้วยังไง? สิ่งนี้ใช้ได้กับคำสั่ง pg_dump ด้วยหรือไม่

5
postgresql - เพิ่มคอลัมน์บูลีนเป็นค่าเริ่มต้นของชุดตาราง
นี่เป็นไวยากรณ์ postgresql ที่เหมาะสมหรือไม่เพื่อเพิ่มคอลัมน์ในตารางที่มีค่าเริ่มต้นเป็น false ALTER TABLE users ADD "priv_user" BIT ALTER priv_user SET DEFAULT '0' ขอบคุณ!
159 sql  postgresql 

8
PostgreSQL ERROR: การยกเลิกคำสั่งเนื่องจากขัดแย้งกับการกู้คืน
ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อเรียกใช้แบบสอบถามบนฐานข้อมูล PostgreSQL ในโหมดสแตนด์บาย แบบสอบถามที่ทำให้เกิดข้อผิดพลาดทำงานได้ดีเป็นเวลา 1 เดือน แต่เมื่อคุณค้นหามากกว่า 1 เดือนผลลัพธ์ของข้อผิดพลาด ERROR: canceling statement due to conflict with recovery Detail: User query might have needed to see row versions that must be removed มีข้อเสนอแนะในการแก้ไขอย่างไร ขอบคุณ

3
ชื่อคอลัมน์ PostgreSQL เป็นตัวพิมพ์เล็กหรือไม่
ฉันมีตาราง db บอกว่าpersonsใน Postgres ส่งทีมอื่นที่มีชื่อคอลัมน์พูด, "first_Name". ตอนนี้กำลังพยายามใช้ผู้บัญชาการ PG เพื่อสืบค้นตารางนี้ในชื่อคอลัมน์นี้ select * from persons where first_Name="xyz"; และมันก็กลับมา ข้อผิดพลาด: ไม่มีคอลัมน์ "first_Name" ไม่แน่ใจว่าฉันกำลังทำอะไรโง่ ๆ หรือมีวิธีแก้ปัญหาที่ฉันพลาดไปหรือไม่?

8
Postgres ข้อ จำกัด ที่ไม่ซ้ำกับดัชนี
ในขณะที่ฉันสามารถเข้าใจเอกสารคำจำกัดความต่อไปนี้เทียบเท่า: create table foo ( id serial primary key, code integer, label text, constraint foo_uq unique (code, label)); create table foo ( id serial primary key, code integer, label text); create unique index foo_idx on foo using btree (code, label); อย่างไรก็ตามหมายเหตุในคู่มือสำหรับ Postgres 9.4พูดว่า: วิธีที่ต้องการที่จะเพิ่มข้อ จำกัด ALTER TABLE ... ADD CONSTRAINTที่ไม่ซ้ำกันในตารางเป็น …
157 sql  postgresql  unique 

9
คุณจะหาขนาดดิสก์ของตาราง Postgres / PostgreSQL ได้อย่างไรและดัชนีของมัน
ฉันกำลังจะไปที่ Postgres จาก Oracle และกำลังมองหาวิธีที่จะหาตารางและขนาดดัชนีในแง่ของbytes/MB/GB/etcหรือดีกว่าขนาดของตารางทั้งหมด ใน Oracle ฉันมีข้อความค้นหาที่น่ารังเกียจที่ดู user_lobs และ user_segments เพื่อให้คำตอบ ฉันถือว่าใน Postgres มีบางอย่างที่ฉันสามารถใช้ได้ในinformation_schemaตาราง แต่ฉันไม่เห็นว่าอยู่ที่ไหน
156 postgresql 

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