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

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

2
PostgreSQL: ไม่สามารถเปลี่ยนไดเรกทอรีเป็น / root ได้
ฉันพยายามที่จะคัดลอกตารางplanet_osm_polygonจากฐานข้อมูลหนึ่งไปยังอีกosm testฉันและดำเนินการsu postgrespg_dump ปัญหา:อย่างไรก็ตามฉันได้รับข้อผิดพลาดcould not change directory to "/root"และPassword:ปรากฏขึ้นสองครั้ง! มีวิธีการpg_dumpเมื่อเข้าสู่ระบบในฐานะroot? root@lalaland:~# su postgres postgres@lalaland:/root$ pg_dump -h localhost "osm" --table "public.planet_osm_polygon" | psql -h localhost "test" --table "staging.planet_osm_polygon" could not change directory to "/root" could not change directory to "/root" Password: Password: UPDATE ปัญหา # 2:ปรากฏว่าตารางจะถูกคัดลอกลงในสคีแม้ว่าฉันผ่านธงpublic --table="staging.planet_osm_polygon"ทำไมไม่ได้คัดลอกไปยังคีมาstaging?

3
การสแกนตามลำดับ PostgreSQL แทนการสแกนดัชนีทำไม
สวัสดีทุกคนฉันมีปัญหากับแบบสอบถามฐานข้อมูล PostgreSQL ของฉันและสงสัยว่าใครสามารถช่วยได้ ในบางสถานการณ์แบบสอบถามของฉันดูเหมือนจะไม่สนใจดัชนีที่ฉันสร้างขึ้นซึ่งจะใช้สำหรับการเข้าร่วมสองตารางและdata data_areaเมื่อสิ่งนี้เกิดขึ้นจะใช้การสแกนตามลำดับและส่งผลให้แบบสอบถามช้าลงมาก การสแกนตามลำดับ (~ 5 นาที) Unique (cost=15368261.82..15369053.96 rows=200 width=1942) (actual time=301266.832..301346.936 rows=153812 loops=1) CTE data -> Bitmap Heap Scan on data (cost=6086.77..610089.54 rows=321976 width=297) (actual time=26.286..197.625 rows=335130 loops=1) Recheck Cond: (datasetid = 1) Filter: ((readingdatetime >= '1920-01-01 00:00:00'::timestamp without time zone) AND (readingdatetime <= '2013-03-11 00:00:00'::timestamp …



1
Postgresql ดำเนินการ "ปิดอย่างรวดเร็ว" ด้วยตัวเอง ทำไม? มันสามารถทำเช่นนั้นได้อย่างไร?
ฉันได้อ่านแล้วและอ่านคู่มือมากที่สุดก่อนที่จะโพสต์ที่นี่ ข้อมูลรุ่น: Postgres8.4 บน Ubuntu10.x ฉันมีแล็ปท็อปส่วนตัวที่ฉันเปิดใช้เซิร์ฟเวอร์ postgres และสคริปต์ Java ที่ใช้ JDBC ใช้งานได้ 1600 ~ นาที (ซึ่งฉันเคยใช้งานมาหลายสัปดาห์แล้ว) ก่อนที่จะบอกว่าผู้ดูแลระบบรีสตาร์ทเซิร์ฟเวอร์ นี่คือสิ่งที่ฉันพบในบันทึก pgsql: Feb 29 07:46:55 krufe-laptop postgres[3578]: [2-1] 2012-02-29 07:46:55 EST LOG: incomplete startup packet Feb 29 07:46:56 krufe-laptop postgres[1113]: [2-1] 2012-02-29 07:46:56 EST LOG: received fast shutdown request Feb 29 07:46:56 krufe-laptop …
12 postgresql 

3
วิธีที่เร็วที่สุดในการนับจำนวนช่วงวันที่ครอบคลุมแต่ละวันจากซีรี่ส์
ฉันมีตาราง (ใน PostgreSQL 9.4) ที่มีลักษณะเช่นนี้: CREATE TABLE dates_ranges (kind int, start_date date, end_date date); INSERT INTO dates_ranges VALUES (1, '2018-01-01', '2018-01-31'), (1, '2018-01-01', '2018-01-05'), (1, '2018-01-03', '2018-01-06'), (2, '2018-01-01', '2018-01-01'), (2, '2018-01-01', '2018-01-02'), (3, '2018-01-02', '2018-01-08'), (3, '2018-01-05', '2018-01-10'); ตอนนี้ฉันต้องการคำนวณสำหรับวันที่ที่กำหนดและสำหรับทุกประเภทว่ามีกี่แถวจากdates_rangesแต่ละวันที่ตก อาจตัดศูนย์ได้ ผลลัพธ์ที่ต้องการ: +-------+------------+----+ | kind | as_of_date | n | …

2
การใช้ฟังก์ชั่นหน้าต่างเพื่อส่งต่อค่าที่ไม่ใช่ค่าว่างในพาร์ติชัน
พิจารณาตารางที่บันทึกการเข้าชม create table visits ( person varchar(10), ts timestamp, somevalue varchar(10) ) พิจารณาข้อมูลตัวอย่างนี้ (การประทับเวลาประยุกต์เป็นตัวนับ) ts| person | somevalue ------------------------- 1 | bob |null 2 | bob |null 3 | jim |null 4 | bob | A 5 | bob | null 6 | bob | B 7 | jim | …


1
PostgreSQL psql - ไม่ทำงาน แต่ไม่มีข้อผิดพลาด [ปิด]
คำถามนี้ไม่น่าจะช่วยผู้เข้าชมในอนาคต มันเกี่ยวข้องเฉพาะกับพื้นที่ทางภูมิศาสตร์ขนาดเล็กช่วงเวลาที่เฉพาะเจาะจงหรือสถานการณ์ที่แคบเป็นพิเศษซึ่งโดยทั่วไปไม่สามารถใช้ได้กับผู้ชมทั่วโลกของอินเทอร์เน็ต สำหรับความช่วยเหลือในการทำคำถามนี้มากขึ้นบังคับในวงกว้างไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันเป็น noob ที่สมบูรณ์สำหรับ PostgreSQL ดังนั้นฉันอาจจะพลาดอะไรบางอย่างที่เห็นได้อย่างสมบูรณ์ เชื่อมต่อกับฐานข้อมูลท้องถิ่นของฉันผ่าน psql บนเทอร์มินัล คำสั่งใด ๆ ที่ฉันเรียกใช้เพื่อทำการเปลี่ยนแปลง db หรือแม้แต่ตัวเลือกแบบง่ายก็ไม่ทำอะไรเลย ไม่มีข้อผิดพลาดไม่มีผลลัพธ์ ฉันสามารถใช้คำสั่งเชลล์ createdb, dropdb ได้ดี มีเว็บไซต์ที่ทำงานใน Ruby on Rails, RefineryCMS โดยใช้ฐานข้อมูล PostgreSQL ดังนั้นฉันรู้ว่า db มีข้อมูลและใช้งานได้ - ฉันไม่สามารถสืบค้นหรือแก้ไขผ่าน psql ได้ ฉันกำลังคิดถึงอะไร Mac OS X Lion, pg v 9.2
12 postgresql  psql 

3
ข้อผิดพลาดขนาดดัชนีสูงสุดของแถว
มีขอบเขตบนสำหรับarrayคอลัมน์หรือไม่? ฉันได้รับข้อผิดพลาดนี้เมื่อแทรกเข้าไปในฟิลด์อาร์เรย์ - PG::Error: ERROR: index row size 3480 exceeds maximum 2712 for index "ix_data" นี่คือคำนิยามตารางของฉัน - create table test_array(id varchar(50), data text[]); ALTER TABLE test_array ADD PRIMARY KEY (id); CREATE INDEX ix_data ON test_array USING GIN (data); ฉันต้องการดัชนีในฟิลด์อาร์เรย์เนื่องจากฉันกำลังทำการค้นหาบางอย่างกับมัน

1
postgres - pg_dump และ pg_restore ที่ไม่มีบทบาท
ฉันพยายามกู้คืนดัมพ์โดยไม่มีบทบาทที่เหมาะสมในฐานข้อมูลการรับ ดังที่กล่าวไว้ที่นี่แต่ที่นี่คุณต้องมี--no-ownerตัวเลือกไม่ว่าจะในpg_dumpหรือpg_restoreหรือทั้งสองอย่าง ฉันใช้บรรทัดคำสั่งต่อไปนี้เพื่อสร้างการถ่ายโอนข้อมูลของฉัน "C:\Program Files\PostgreSQL\9.3\bin\pg_dump.exe" --no-owner -Ft --dbname=postgresql://avo******:AV0******?@127.0.0.1:5432/BI_DB > K:\BI\backup\sort\bck_%timestamp%.tar บรรทัดการกู้คืนมีดังนี้ "C:\Program Files\PostgreSQL\9.3\bin\pg_restore.exe" --host localhost --port 5432 --username "postgres" --dbname "BI_TEST2" --no-password --no-owner --role=postgres --exit-on-error --verbose "D:\D\avo\backup\bck_04042017_1410.tar" อย่างที่คุณเห็นทั้งสองมี--no-ownerตัวเลือก แต่ในที่สุดฉันมีข้อผิดพลาดด้านล่าง สิ่งที่เลวร้ายมากที่ทำให้ฉันเป็นบันทึกด้านล่าง pg_restore: [programme d'archivage (db)] Erreur pendant le traitement de la TOC (« PROCESSING TOC ») : pg_restore: [programme d'archivage (db)] …

3
ค้นหาวัตถุที่เชื่อมโยงกับบทบาท PostgreSQL
บางครั้งฉันสร้างผู้ใช้ PostgreSQL ชื่อuser1 (PostgreSQL 9.4.9) ฉันต้องการจะลบผู้ใช้รายนี้ ดังนั้นฉันจะยกเลิกการอนุญาตทั้งหมดในตารางลำดับฟังก์ชันสิทธิ์เริ่มต้นและความเป็นเจ้าของด้วย: ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON SEQUENCES FROM user1; ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON TABLES FROM user1; ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON FUNCTIONS FROM user1; REVOKE ALL ON ALL SEQUENCES IN SCHEMA …

2
ลบออกจากแถวของตารางที่ใด ๆ ของเขตข้อมูลคอลัมน์เป็นโมฆะ
มีวิธีการลบแถวออกจากตารางที่ใด ๆ ของเขตข้อมูลคอลัมน์เป็นโมฆะโดยไม่ระบุชัดเจนว่าคอลัมน์ใดเป็นโมฆะ? ฉันใช้ postgreSQL นี่คือสคีสัมพันธ์ของฉัน: Column | Type | Modifiers --------------+---------+---------------------------------------------------------------------- id | integer | not null default nextval('aurostat.visitor_center_id_seq'::regclass) date | date | persons | integer | two_wheelers | integer | cars | integer | vans | integer | buses | integer | autos | integer | ขอบคุณ
12 postgresql 

3
ค่าใช้จ่ายในขั้นตอนภาษา PostgreSQL (plpython / plsql / pllua …)
ฉันพยายามค้นหาข้อมูลเกี่ยวกับฟังก์ชั่นที่ผู้ใช้กำหนด PostgreSQL ในภาษาขั้นตอนการปฏิบัติงานตามเวลาจริง พวกเขาเปรียบเทียบกับฟังก์ชั่นในตัวอย่างไร มีความแตกต่างใด ๆ (ในค่าใช้จ่าย) วิธี Postgres เรียก / จัดการ plpython vs plpgsql vs pllua ฟังก์ชั่น (ฉันสนใจในด้านบูรณาการ Postgres / บริบท / การถ่ายโอนข้อมูลไม่ใช่ VM ตัวเอง)? บริบทเป็นค่าใช้จ่ายใหญ่หรือไม่ ฉันสามารถใช้มันสำหรับการจับคู่ข้อมูลแบบเรียลไทม์ (สมมุติว่า 1,000 ข้อความค้นหา) มีประโยชน์ในการเขียนฟังก์ชั่นที่ผู้ใช้กำหนดใน plpgsql แล้ว pg / ภาษาอื่น ๆ ? ในเอกสารพวกเขาระบุข้อได้เปรียบ แต่ฉันคิดว่าพวกเขาใช้กับภาษาขั้นตอน postgresql ทั้งหมด ผลการวิจัยที่เกี่ยวข้อง: ความเร็วของภาษา PL สำหรับการใช้งานที่ผิดปกติ ประสิทธิภาพการทำงานของภาษา PostgreSQL: C …

2
ปฏิเสธการอนุญาตสำหรับความสัมพันธ์ <table>
ฉันใช้ SQL ต่อไปนี้เป็น psql: CREATE USER bspu LOGIN; CREATE DATABASE bsp OWNER bspu; GRANT ALL PRIVILEGES ON DATABASE bsp TO bspu; \c bsp CREATE TABLE users ( id SERIAL PRIMARY KEY, client_id VARCHAR(20) NOT NULL, api_key VARCHAR(100) NOT NULL, api_secret VARCHAR(100) NOT NULL, auth_token VARCHAR(128) NOT NULL ); เมื่อฉันเข้าสู่ระบบเป็นbspuและพยายามค้นหาusersตารางฉันได้รับข้อผิดพลาด: permission …

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