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

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

17
DatabaseError: การทำธุรกรรมปัจจุบันถูกยกเลิกคำสั่งจะถูกละเว้นจนกว่าจะสิ้นสุดการบล็อกธุรกรรม?
ฉันพบข้อผิดพลาดมากมายกับข้อความ: "DatabaseError: current transaction is aborted, commands ignored until end of transaction block" หลังจากเปลี่ยนจาก python-psycopg เป็น python-psycopg2 เป็นเอ็นจิ้นฐานข้อมูลของโครงการ Django รหัสยังคงเหมือนเดิมเพียงแค่ไม่รู้ว่าข้อผิดพลาดเหล่านั้นมาจากที่ใด

4
สร้างข้อ จำกัด ที่ไม่ซ้ำกับคอลัมน์ null
ฉันมีตารางที่มีเค้าโครงนี้: CREATE TABLE Favorites ( FavoriteId uuid NOT NULL PRIMARY KEY, UserId uuid NOT NULL, RecipeId uuid NOT NULL, MenuId uuid ) ฉันต้องการสร้างข้อ จำกัด ที่ไม่ซ้ำแบบนี้: ALTER TABLE Favorites ADD CONSTRAINT Favorites_UniqueFavorite UNIQUE(UserId, MenuId, RecipeId); แต่นี้จะช่วยให้หลายแถวด้วยเหมือนกันถ้า(UserId, RecipeId) MenuId IS NULLผมต้องการที่จะช่วยให้NULLในMenuIdการจัดเก็บที่ชื่นชอบที่ไม่มีเมนูที่เกี่ยวข้อง แต่ฉันเพียงต้องการมากที่สุดคนหนึ่งของแถวเหล่านี้ต่อผู้ใช้ / คู่สูตร ความคิดที่ฉันมีคือ: ใช้ UUID ที่กำหนดค่าตายตัวบางอย่าง (เช่นศูนย์ทั้งหมด) แทนค่า Null อย่างไรก็ตามMenuIdมีข้อ …

16
วิธีการสร้างคำสั่ง "สร้างตาราง" sql สำหรับตารางที่มีอยู่ใน postgreSQL
ฉันสร้างตารางใน postgreSQL แล้ว ฉันต้องการดูคำสั่ง SQL ที่ใช้สร้างตาราง แต่ไม่สามารถคิดออกได้ ฉันจะรับคำcreate tableสั่ง SQL สำหรับตารางที่มีอยู่ใน Postgres ผ่าน commandline หรือคำสั่ง SQL ได้อย่างไร
250 postgresql 

7
แยกวันที่ (yyyy / mm / dd) จากการประทับเวลาใน PostgreSQL
ฉันต้องการแยกส่วนวันที่จากการประทับเวลาใน PostgreSQL ฉันต้องการให้เป็นDATEประเภทpostgresql เพื่อให้ฉันสามารถแทรกลงในตารางอื่นที่ต้องการDATEค่า ตัวอย่างเช่นถ้าฉันมี2011/05/26 09:00:00ฉันต้องการ2011/05/26 ฉันพยายามคัดเลือกนักแสดง แต่ได้รับเพียงปี 2011: timestamp:date cast(timestamp as date) ฉันลองto_char()ด้วยto_date(): SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD') FROM val3 WHERE id=1; ฉันพยายามทำให้เป็นฟังก์ชัน: CREATE OR REPLACE FUNCTION testing() RETURNS void AS ' DECLARE i_date DATE; BEGIN SELECT to_date(to_char(val1, "YYYY/MM/DD"),"YYYY/MM/DD") INTO i_date FROM exampTable WHERE id=1; INSERT INTO foo(testd) VALUES (i); …

7
Postgresql GROUP_CONCAT เทียบเท่าหรือไม่
ฉันมีตารางและฉันต้องการดึงหนึ่งแถวต่อหนึ่ง id ด้วยค่าเขตข้อมูลที่ต่อกัน ตัวอย่างเช่นในตารางของฉันฉันมีสิ่งนี้: TM67 | 4 | 32556 TM67 | 9 | 98200 TM67 | 72 | 22300 TM99 | 2 | 23009 TM99 | 3 | 11200 และฉันต้องการที่จะส่งออก: TM67 | 4,9,72 | 32556,98200,22300 TM99 | 2,3 | 23009,11200 ใน MySQL ฉันสามารถใช้ฟังก์ชันการรวมGROUP_CONCATแต่ดูเหมือนจะไม่ทำงานที่นี่ ... มี PostgreSQL ที่เท่ากันหรือวิธีอื่นในการทำสิ่งนี้

21
psql: ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว (Mac OS X)
เมื่อรีสตาร์ท Mac ของฉันฉันพบข้อผิดพลาด Postgres: psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? เหตุผลนี้เกิดขึ้นเพราะ macbook ของฉันค้างอย่างสมบูรณ์เนื่องจากปัญหาที่ไม่เกี่ยวข้องและฉันต้องรีบูตเครื่องอย่างหนักโดยใช้ปุ่มเปิดปิด หลังจากรีบูตเครื่องฉันไม่สามารถเริ่ม Postgres ได้เนื่องจากข้อผิดพลาดนี้
247 macos  postgresql 

8
ฉันจะเพิ่มคอลัมน์ในฐานข้อมูล Postgresql ที่ไม่อนุญาตให้มีค่าว่างได้อย่างไร
ฉันเพิ่มคอลัมน์ "ไม่เป็นโมฆะ" ใหม่ลงในฐานข้อมูล Postgresql ของฉันโดยใช้แบบสอบถามต่อไปนี้ (ฆ่าเชื้อสำหรับอินเทอร์เน็ต): ALTER TABLE mytable ADD COLUMN mycolumn character varying(50) NOT NULL; ทุกครั้งที่ฉันเรียกใช้แบบสอบถามนี้ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: ERROR: column "mycolumn" contains null values ฉันนิ่งงัน ฉันจะไปไหนผิด หมายเหตุ: ฉันใช้ pgAdmin III (1.8.4) เป็นหลัก แต่ฉันได้รับข้อผิดพลาดเดียวกันเมื่อฉันรัน SQL จากภายในเทอร์มินัล

3
การใช้ psql ฉันจะแสดงรายการส่วนขยายที่ติดตั้งในฐานข้อมูลได้อย่างไร
ฉันจะแสดงรายการส่วนขยายทั้งหมดที่ติดตั้งไว้แล้วในฐานข้อมูลหรือสคีมาจาก psql ได้อย่างไร ดูสิ่งนี้ด้วย การค้นหารายการส่วนขยายที่พร้อมใช้งานที่ PostgreSQL มีให้

8
คุณต้องติดตั้ง postgresql-server-dev-XY สำหรับการสร้างส่วนขยายฝั่งเซิร์ฟเวอร์หรือ libpq-dev สำหรับการสร้างแอปพลิเคชันฝั่งไคลเอ็นต์
ฉันทำงานโครงการ Django ด้วย virtualenv และเชื่อมต่อกับฐานข้อมูล postgres ในพื้นที่ เมื่อฉันเรียกใช้โปรเจค ImportError: No module named psycopg2.extensions จากนั้นฉันใช้คำสั่งนี้เพื่อติดตั้ง pip install psycopg2 จากนั้นในระหว่างการติดตั้งจะให้ข้อผิดพลาดดังต่อไปนี้ Downloading/unpacking psycopg2==2.4.4 Downloading psycopg2-2.4.4.tar.gz (648kB): 648kB downloaded Running setup.py (path:/home/muhammadtaqi/Projects/MyProjects/OnlineElectionCampaign/venv/build/psycopg2/setup.py) egg_info for package psycopg2 Error: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application. …

9
วิธีที่เร็วที่สุดในการแทรกจำนวนมากใน Postgres คืออะไร
ฉันต้องการแทรกระเบียน 10 ล้านรายการโดยทางโปรแกรมลงในฐานข้อมูล postgres ปัจจุบันฉันกำลังดำเนินการของคำสั่งแทรก 1,000 รายการใน "แบบสอบถาม" เดียว มีวิธีที่ดีกว่าในการทำคำสั่งแทรกจำนวนมากที่ฉันไม่รู้หรือไม่?

12
วิธีการประกาศตัวแปรในแบบสอบถาม PostgreSQL
ฉันจะประกาศตัวแปรสำหรับใช้ในแบบสอบถาม PostgreSQL 8.3 ได้อย่างไร ใน MS SQL Server ฉันสามารถทำได้: DECLARE @myvar INT SET @myvar = 5 SELECT * FROM somewhere WHERE something = @myvar ฉันจะทำเช่นเดียวกันใน PostgreSQL ได้อย่างไร ตามตัวแปรเอกสารจะประกาศเพียงว่า "ชื่อประเภท;" แต่นี่ทำให้ฉันมีข้อผิดพลาดทางไวยากรณ์: myvar INTEGER; ใครช่วยให้ฉันตัวอย่างของไวยากรณ์ที่ถูกต้องหรือไม่

22
ไม่ได้โหลดไลบรารี: /usr/local/opt/readline/lib/libreadline.6.2.dylib
ฉันเพิ่งติดตั้ง posgresql กับ homebrew และเมื่อฉันไปพิมพ์คำสั่ง psql ฉันได้รับข้อผิดพลาดต่อไปนี้: dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib Referenced from: /usr/local/bin/psql Reason: image not found [1] 69711 trace trap psql ไม่มีใครมีความคิดเกี่ยวกับสิ่งที่ผิดหรือเปล่า?

6
URL การเชื่อมต่อ PostgreSQL
URL การเชื่อมต่อ PostgreSQL เป็นอย่างไรเมื่อโฮสต์เป็นคอมพิวเตอร์อื่นที่ไม่ใช่ localhost ฉันอนุญาตให้ PostgreSQL รับคำขอจากภายนอก

17
ฉันจะแก้ไขฟิลด์ภายในประเภทข้อมูล PostgreSQL JSON ใหม่ได้อย่างไร
ด้วย postgresql 9.3 ฉันสามารถเลือกเขตข้อมูลเฉพาะของชนิดข้อมูล JSON ได้ แต่คุณจะแก้ไขได้อย่างไรโดยใช้ UPDATE ฉันไม่พบตัวอย่างใด ๆ ของสิ่งนี้ในเอกสาร postgresql หรือที่ใดก็ตามออนไลน์ ฉันได้ลองสิ่งที่ชัดเจนแล้ว: postgres=# create table test (data json); CREATE TABLE postgres=# insert into test (data) values ('{"a":1,"b":2}'); INSERT 0 1 postgres=# select data->'a' from test where data->>'b' = '2'; ?column? ---------- 1 (1 row) postgres=# update test set …

25
ใช้ที่อยู่อีเมลเป็นรหัสหลักหรือไม่
ที่อยู่อีเมลเป็นตัวเลือกที่ไม่ถูกต้องสำหรับข้อมูลหลักเมื่อเปรียบเทียบกับตัวเลขที่เพิ่มขึ้นอัตโนมัติหรือไม่ เว็บแอปพลิเคชันของเราต้องการที่อยู่อีเมลที่ไม่ซ้ำกันในระบบ ดังนั้นฉันคิดว่าการใช้ที่อยู่อีเมลเป็นคีย์หลัก อย่างไรก็ตามเพื่อนร่วมงานของฉันแนะนำว่าการเปรียบเทียบสตริงจะช้ากว่าการเปรียบเทียบจำนวนเต็ม เป็นเหตุผลที่ถูกต้องหรือไม่ที่จะไม่ใช้อีเมลเป็นคีย์หลัก? PostgreSQLเราใช้

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