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

PostgreSQL ทุกรุ่น เพิ่มแท็กเฉพาะรุ่นเพิ่มเติมเช่น postgresql-11 หากบริบทนั้นสำคัญ

2
ดัชนีที่ไม่ซ้ำที่เลื่อนออกไปใน postgres
เมื่อมองไปที่เอกสารประกอบของ postgres สำหรับตารางการเปลี่ยนแปลงดูเหมือนว่าข้อ จำกัด ทั่วไปสามารถทำเครื่องหมายเป็นDEFERRABLE(เพิ่มเติมอย่างชัดเจนINITIALLY DEFERREDซึ่งเป็นสิ่งที่ฉันสนใจ) ดัชนียังสามารถเชื่อมโยงกับข้อ จำกัด ได้ตราบใดที่: ดัชนีไม่สามารถมีคอลัมน์นิพจน์หรือดัชนีบางส่วนได้ ซึ่งทำให้ฉันเชื่อว่าขณะนี้ไม่มีวิธีที่จะมีดัชนีที่ไม่ซ้ำกับเงื่อนไขเช่น: CREATE UNIQUE INDEX unique_booking ON public.booking USING btree (check_in, check_out) WHERE booking_status = 1; จะINITIALLY DEFERREDหมายถึงว่า 'ข้อ จำกัด ' ที่ไม่ซ้ำกันจะได้รับการตรวจสอบในตอนท้ายของการทำธุรกรรม (ถ้าSET CONSTRAINTS ALL DEFERRED;ใช้) การสันนิษฐานของฉันถูกต้องและถ้าเป็นเช่นนั้นมีวิธีใดบ้างที่จะบรรลุเป้าหมายที่ต้องการ? ขอบคุณ

1
ข้อผิดพลาด: ไม่สามารถลบไฟล์ '' (ข้อผิดพลาด 2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว)
ฉันได้รับข้อผิดพลาด pgAdmin III ต่อไปนี้ทุกครั้งที่ฉันกู้คืนฐานข้อมูลโดยใช้ pgAdmin III: ข้อผิดพลาด: ไม่สามารถลบไฟล์ '' (ข้อผิดพลาด 2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว) ดูบันทึก pgAdmin การกำหนดค่าของฉัน: PostgreSQL 9.4.4 บน x86_64-unknown-linux-gnu รวบรวมโดย gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit Linux 3.19.0-26-generic # 28 ~ 14.04.1-Ubuntu SMP พุธ 12 สิงหาคม 14:09:17 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

2
ความสัมพันธ์กับคีย์ต่างประเทศแบบมีเงื่อนไข
ขณะนี้ฉันมีรหัสต่างประเทศระหว่างสองหน่วยงานและฉันต้องการสร้างความสัมพันธ์แบบมีเงื่อนไขให้กับประเภทรายการของตารางใดตารางหนึ่ง นี่คือลำดับชั้นของตารางซึ่งทำได้ผ่านการอ้างอิง FK ตั้งแต่เด็กจนถึงผู้ปกครอง Store / \ Employees \ TransactionalStores / | \ Kiosks | BrickMortars Onlines ขณะนี้ฉันมีความสัมพันธ์ FK จากพนักงานเพื่อจัดเก็บ ALTER TABLE Employees ADD CONSTRAINT Employee_Store FOREIGN KEY (TransStoreId) REFERENCES TransactionalStores(StoreId) ฉันต้องการเพิ่มเงื่อนไข: WHERE TransactionalStores.storeType != 'ONLINE_TYPE' เป็นไปได้หรือไม่ฉันต้อง subclass TransactionalStores เป็นสองประเภทย่อยใหม่ (เช่น PhysicalStores และ VirtualStores)

1
Postgres: ตรวจสอบพื้นที่ดิสก์ที่ถ่ายโดยมุมมอง materialized?
ฉันรู้วิธีตรวจสอบขนาดของดัชนีและตารางใน Postgres (ฉันใช้เวอร์ชัน 9.4): SELECT relname AS objectname, relkind AS objecttype, reltuples AS "#entries", pg_size_pretty(relpages::bigint*8*1024) AS size FROM pg_class WHERE relpages >= 8 ORDER BY relpages DESC; แต่สิ่งนี้จะไม่แสดงมุมมองที่ปรากฏ ฉันจะตรวจสอบจำนวนเนื้อที่ดิสก์ที่ใช้ไปได้อย่างไร

2
นับข้อมูลโดยใช้ช่วงวันที่หลายช่วง
อาจมีการถามก่อนหน้านี้ แต่ฉันไม่สามารถคิดออก ฉันมีphone_clicksโต๊ะ (ซอซอร์ต sql http://sqlfiddle.com/#!15/855e0/1 ) CREATE TABLE phone_clicks ( id integer NOT NULL, date date NOT NULL, industry_id integer NOT NULL, clicks integer DEFAULT 0 NOT NULL ); insert into phone_clicks(id, date, industry_id, clicks) values (1, '2015-03-16', 1, 15), (2, '2015-03-16', 2, 7), (3, '2015-03-16', 3, 0), (4, …
14 postgresql 

1
มีวิธีแทรกหลายแถวในตารางที่มีค่าเริ่มต้นสำหรับคอลัมน์ทั้งหมดหรือไม่
ฉันสามารถแทรกหลายแถวลงในตารางที่มีค่าเริ่มต้นสำหรับคอลัมน์ทั้งหมดด้วยวิธีRBAR : create table course(course_id serial primary key); do $$ begin for i in 1..100000 loop insert into course default values; end loop; end;$$; มีวิธีการทำเช่นเดียวกันกับคำสั่ง SQL เดียวหรือไม่

2
มาตราส่วน PostgreSQL TRIGGER
Postgres กระตุ้นกลไกการปรับขนาดอย่างไร เรามีการติดตั้ง PostgreSQL ขนาดใหญ่และเราพยายามที่จะใช้ระบบที่อิงเหตุการณ์โดยใช้ตารางบันทึกและ TRIGGER โดยทั่วไปเราต้องการสร้าง TRIGGER สำหรับแต่ละตารางที่เราต้องการรับการแจ้งเตือนสำหรับการดำเนินการ UPDATE / INSERT / DELETE เมื่อทริกเกอร์นี้เริ่มทำงานมันจะเรียกใช้ฟังก์ชั่นที่จะเพิ่มแถวใหม่ (เข้ารหัสเหตุการณ์) ลงในตารางบันทึกที่เราจะสำรวจจากบริการภายนอก ก่อนที่จะเข้าร่วมกับ Postgres TRIGGER (s) เราต้องการทราบวิธีการปรับขนาด: เราสามารถสร้างทริกเกอร์จำนวนเท่าใดในการติดตั้ง Postgres เดียว ส่งผลกระทบต่อประสิทธิภาพการค้นหาหรือไม่ ใครเคยลองสิ่งนี้บ้างไหม?

1
ส่วนคำสั่ง 'return' สามารถส่งคืนคอลัมน์ต้นทางที่ไม่ได้แทรกได้หรือไม่?
นี่คือตัวอย่างเล็กน้อยของปัญหาจริงของฉัน: create table t(id serial primary key, rnd double precision); แน่นอนคุณสามารถส่งคืนคอลัมน์ที่แทรกด้วยreturningประโยค: with w as (insert into t(rnd) values(random()) returning *) insert into t(rnd) select random() from w returning *; /* | ID | RND | |----|----------------| | 9 | 0.203221440315 | */ คุณสามารถคืนค่าตัวอักษร: with w as (insert into t(rnd) values(random()) …

1
การใช้งานสำเนาจาก STDIN ในภายหลัง
ฉันเพิ่งเริ่มใช้ Postgres และฉันพยายามสร้างตัวอย่างฐานข้อมูลเพื่อทำความเข้าใจการทำงานของมันมองไปรอบ ๆ ฉันพบสคริปต์บางอย่างใน pgfoundry.org ฉันเข้าใจคำสั่งเนื่องจากก่อนหน้านี้ฉันเคยใช้ทั้ง Oracle และ MS-SQL แต่สคริปต์ทั้งหมดที่ฉันใช้กำลังส่งคืนข้อผิดพลาดเมื่อถึงคำสั่ง "COPY FROM" แม่นยำมากขึ้นข้อผิดพลาดจะถูกโยนที่องค์ประกอบแรกที่ควรจะแทรกในตารางที่กำหนด ฉันพยายามเรียกใช้สคริปต์ทั้งในฐานะข้อความค้นหาและเป็น pgScripts แต่ทั้งสองวิธีฉันได้รับข้อผิดพลาดในแถวแรกหลังจากคัดลอกจาก ฉันใช้ pgAdminIII และฉันใช้ StackBuilder เพื่อติดตั้ง PostgreSQL 9.2.4.1 เป็นไดร์เวอร์ฐานข้อมูล ฉันอาจขาดการกำหนดค่าพื้นฐานบางอย่างที่ทำให้ฉันไม่สามารถเรียกใช้คำสั่งนี้ได้หรือฉันไม่เข้าใจว่ามันใช้งานได้หรือไม่? แก้ไข: ข้อผิดพลาดคือ: ERROR: syntax error at or near "7" LINE 5600: 7 4 13 37 2012-03-10 16:41:43.797787 2012-03-10 16:41:43.797... ^ ********** Error ********** ERROR: …

1
PostgreSQL: สิทธิ์ถูกปฏิเสธเนื่องจากมีความเกี่ยวข้อง
ฉันสับสนเกี่ยวกับการตั้งค่าสิทธิ์ใน PostgreSQL ฉันมีบทบาทเหล่านี้: List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- admin | Superuser, Create role, Create DB, Replication | {} meltemi | Create role, Create DB | {rails} rails | Create DB, Cannot login | {} myapp | | {rails} และฐานข้อมูล: List of databases Name | …

1
วิธีการกำหนดจุดที่น่าสนใจระหว่างขนาดพูลและการเชื่อมต่อฐานข้อมูลใน PostgreSQL
เราประสบปัญหาในการจัดการทราฟฟิกในช่วงชั่วโมงเร่งด่วนไปยังเซิร์ฟเวอร์ฐานข้อมูลของเรา เรากำลังมองหาการปรับปรุงฮาร์ดแวร์ (ดูคำถามนี้เกี่ยวกับสิ่งต่าง ๆ ด้านข้างนั้น ) แต่เราต้องการทำงานกับการกำหนดค่าการรวมกำไรและการปรับแต่งเซิร์ฟเวอร์ แอปพลิเคชั่นที่เรากำลังทำอยู่นั้นเป็นเกมแบบผู้เล่นหลายคนเทิร์นเบสสำหรับสมาร์ทโฟนโดยแบ็กเอนด์ประกอบด้วยRails ที่มียูนิคอร์นและPostgreSQL 9.1เป็นฐานข้อมูล ขณะนี้เรามีผู้ใช้งานที่ลงทะเบียนแล้ว 600,000 คนและเนื่องจากสถานะเกมถูกเก็บไว้ในฐานข้อมูลหลายพันการเขียนจะทำทุกสองสามวินาที เราได้วิเคราะห์ล็อกไฟล์จากPostgreSQLโดยใช้PgBadgerและในช่วงเวลาวิกฤติที่เราได้รับจำนวนมาก FATAL: remaining connection slots are reserved for non-replication superuser connections วิธีการแก้ปัญหาไร้เดียงสาไปที่เคาน์เตอร์ปัญหานี้จะเพิ่มmax_connections (ซึ่งปัจจุบันคือ 100) ใน postgresql.conf ฉันได้อ่านhttp://wiki.postgresql.org/wiki/Number_Of_Database_Connectionsซึ่งแสดงว่านี่อาจไม่ใช่สิ่งที่ถูกต้อง ในบทความดังกล่าวข้างต้นก็เรียกหาจุดหวานระหว่าง max_connections และขนาดสระว่ายน้ำ สิ่งที่สามารถทำได้เพื่อหาจุดหวานนี้ มีเครื่องมือที่ดีในการวัดประสิทธิภาพ I / O สำหรับค่าต่าง ๆ ของmax_connectionsและขนาดพูลหรือไม่? การตั้งค่าปัจจุบันของเราคือเซิร์ฟเวอร์เกม 4 ตัวแต่ละตัวมียูนิคอร์น 16 คนและขนาดพูล 5 นี่คือการตั้งค่า postgres-settings ที่ไม่ใช่ค่าเริ่มต้นที่เราใช้: …
14 postgresql 

6
ฟอร์แมตแบบสอบถาม SQL [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ดูแลฐานข้อมูล Exchange Exchange ปิดให้บริการใน5 ปีที่ผ่านมา มี SQL Query Formatting programs / plugins / extensions ใด ๆ หรือไม่? ฉันใช้ PostgreSQL และ MySQL แต่ยินดีต้อนรับฐานข้อมูลอื่น ๆ เช่นกัน ฉันสามารถใช้ VM เพื่อทดสอบด้วย แต่ต้องการโซลูชันที่ใช้ Linux (Ubuntu) ฉันเห็นเวอร์ชันออนไลน์แล้วแต่ไม่มีอะไรติดตั้งได้ Eclipse Based IDE ก็เป็นข้อดีเช่นกัน ตัวอย่าง: select f1, f2, fname, lName from tblName where f1 = …
14 postgresql 

1
PostgreSQL failover และการจำลองแบบ
ฉันประเมิน PostgreSQL 9.1 และมีคำถามสองสามข้อที่เกี่ยวข้องกับรายละเอียดการเฟลโอเวอร์และการจำลองแบบ ฉันมีสถานการณ์การทดสอบน้อย สิ่งแรกคือเซิร์ฟเวอร์หลักและทาสไม่กี่คน ในกรณีที่อาจารย์ขัดข้องฉันต้องการให้ทาสคนหนึ่งกลายเป็นนาย หลังจากที่ Master กลับสู่สภาวะปกติแล้วควรซิงค์กับเซิร์ฟเวอร์อื่นในคลัสเตอร์ (ใช้การเปลี่ยนแปลงทั้งหมดที่ทำในขณะที่มันหยุดทำงาน) และเรียกคืนบทบาท Master หรือกลายเป็น Slave ปัญหาที่ฉันเห็นด้วย PostgreSQL และสถานการณ์ปัจจุบันมีดังต่อไปนี้ 1) ฉันไม่เห็นเครื่องมือในตัวสำหรับตรวจจับการหยุดทำงานของเซิร์ฟเวอร์หลัก ฉันอ่านว่า pgpool สามารถจัดการกับมันและสร้างไฟล์ทริกเกอร์ได้ฉันยังอ่านอีกว่าผู้คนใช้เครื่องมือ heartbeat Linux หรือเครื่องมือที่คล้ายกันสำหรับเรื่องนี้ โอเคฉันสามารถตรวจจับความล้มเหลวและกำหนดมาสเตอร์ใหม่ในคลัสเตอร์ได้ ทาสคนอื่นจะเข้าใจหรือไม่ว่ามีเจ้านายคนใหม่และพวกเขาควรจะสำรองไว้ตอนนี้หรือไม่? 2) ฉันไม่เข้าใจขั้นตอนการย้อนกลับ การกำหนดค่าโฮสต์ Master และ Slave นั้นแตกต่างกัน ดังนั้นฉันจะมีผู้เชี่ยวชาญสองคนหลังจากที่ล้มเหลวของอาจารย์ล้มเหลวหรือไม่ เซิร์ฟเวอร์จะซิงค์กันอย่างไร ฉันเห็นวิธีแก้ปัญหาด้วยตนเองเช่น "ถ่ายโอนโฟลเดอร์ข้อมูลไปยังเซิร์ฟเวอร์แล้วรีสตาร์ท" ดังนั้นทางออกหรือแนวปฏิบัติที่ดีที่สุดหรือหลักสำคัญอย่างน้อยที่นี่คืออะไร 3) ฉันควรจัดการเซิร์ฟเวอร์ขัดข้องทางฝั่งไคลเอ็นต์ได้อย่างไร เมื่อฉันสร้างการเชื่อมต่อฉันระบุ IP ของเซิร์ฟเวอร์อย่างชัดเจน ฉันควรพัฒนา ConnectionManager บางประเภทซึ่งจะรู้จักโครงสร้าง Master-Slave ของฉันส่งคำขอไปยัง …

4
แสดงรายการคีย์หลักสำหรับตารางทั้งหมด - Postgresql
มีคำถามที่จะทำเช่นนั้น? ฉันพบข้อสงสัยบางอย่างที่สามารถทำได้สำหรับหนึ่งตาราง แต่ฉันไม่สามารถแก้ไขได้ดังนั้นฉันจึงเห็น: tablename | column | type

3
วิธีแปลง mysql เป็น postgresql [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Exchange Administrators Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันกำลังมองหาเครื่องมือการแปลงเพื่อแปลงฐานข้อมูล mysql ขนาดใหญ่เป็น postgresql ฉันต้องการเครื่องมือ / สคริปต์เพื่อเป็น: ฟรี ทำงานภายใต้ Linux ใช้งานง่ายและไม่บั๊ก คุณลองและยืนยันว่าใช้งานได้จริง เด่นกว่าไม่ได้เขียนด้วย Java หรือ Ruby ฉันได้ลองใช้เครื่องมือต่าง ๆ ที่ระบุไว้ที่นี่แต่ไม่มีใครทำงานให้ฉันได้ ขอบคุณล่วงหน้า.

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