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

PostgreSQL เป็นระบบฐานข้อมูลเชิงสัมพันธ์เชิงวัตถุแบบโอเพนซอร์สที่ทรงพลัง มีการพัฒนาอย่างต่อเนื่องมากกว่า 15 ปีและสถาปัตยกรรมที่ได้รับการพิสูจน์แล้วซึ่งได้รับชื่อเสียงในด้านความน่าเชื่อถือความสมบูรณ์ของข้อมูลและความถูกต้อง มันทำงานบนระบบปฏิบัติการหลักทั้งหมดรวมถึง Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) และ Windows

4
วิธีรักษาความปลอดภัยพอร์ต PostgreSQL ที่เปิดอยู่
ดังนั้นนี่คือสถานการณ์ ดูเหมือนว่าเราจำเป็นต้องมีพอร์ต TCP แบบเปิด 5432 ไปทั่วโลกซึ่งลูกค้าสามารถเข้าถึงฐานข้อมูล PostgreSQL ของเขาได้ ด้วยเหตุผลที่ชัดเจนเราไม่สามารถพูดได้ว่า "ไม่" เป็นทางเลือกสุดท้ายเท่านั้น อะไรคือปัญหาที่ใหญ่ที่สุด? ฉันจะปกป้องโครงสร้างพื้นฐานของเราได้อย่างไร ยังไงก็ตาม: ทำไมมันถึงไม่ควรเปิดให้คนทั่วโลกเห็น? ฉันคิดว่าบางทีมันอาจจะปลอดภัยกว่าเซิร์ฟเวอร์ FTP เก่า ๆ ที่อายุ 20 ปี PS VPN ไม่เป็นไร บางเข้ารหัสอาจ (ถ้าฉันสามารถให้เขา URL ที่เชื่อมต่อ JDBC ที่ทำงาน )

3
มีความเสี่ยงที่จะเริ่ม NTP บนเซิร์ฟเวอร์ฐานข้อมูลหรือไม่
ฉันได้ยินข่าวลือว่ามีสิ่งไม่ดีเกิดขึ้นกับฐานข้อมูลและเซิร์ฟเวอร์อีเมลหากคุณเปลี่ยนเวลาของระบบในขณะที่กำลังทำงานอยู่ อย่างไรก็ตามฉันมีเวลายากในการค้นหาข้อมูลที่เป็นรูปธรรมเกี่ยวกับความเสี่ยงที่เกิดขึ้นจริง ฉันมีเซิร์ฟเวอร์ Postgres 9.3 ที่ใช้งานจริงผลิตบนโฮสต์ Debian Wheezy และเวลาปิดลง 367 วินาที ฉันสามารถเรียกใช้ntpdateหรือเริ่ม openntp ขณะที่ Postgres ทำงานอยู่หรือมีแนวโน้มที่จะทำให้เกิดปัญหาหรือไม่ ถ้าเป็นเช่นนั้นวิธีที่ปลอดภัยกว่าในการแก้ไขเวลาคืออะไร มีบริการอื่น ๆ ที่ไวต่อการเปลี่ยนแปลงเวลาของระบบหรือไม่ อาจเป็นเซิร์ฟเวอร์เมล (exim, sendmail, etc) หรือคิวข้อความ (activemq, rabbitmq, zeromq ฯลฯ )?
27 debian  postgresql  time  ntp 

2
วิธีการเปลี่ยนรหัสผ่าน postgresql ของผู้ใช้โดยใช้ SQL
วิธีการเปลี่ยนรหัสผ่าน postgresql ของผู้ใช้โดยใช้ SQL ฉันมี user (alex) และรหัสผ่านของเขา (เช่น pass) ฉันต้องเปลี่ยนโดยใช้คำสั่ง sql รหัสผ่านของเขาเป็น NULL ...


4
ฉันจะอัพเกรดฐานข้อมูล postgresl ได้อย่างไร ข้อผิดพลาดไม่เข้ากัน
ฉันติดตั้ง postgresql ผ่าน Homebrew ฉันมีปัญหาดังต่อไปนี้หลังจากอัปเกรด: FATAL: database files are incompatible with server DETAIL: The data directory was initialized by PostgreSQL version 9.0, which is not compatible with this version 9.1.2. มีคำแนะนำในการอัพเกรดอย่างไร? ฉันพยายามต่อไปนี้: $ pg_upgrade -d /usr/local/var/postgres/ -D /usr/local/var/postgres -b /usr/local/Cellar/postgresql/9.0.4/bin -B /usr/local/Cellar/postgresql/9.1.2/bin มันไม่ทำงาน นี่คือผลลัพธ์ Performing Consistency Checks Checking current, bin, …
26 postgresql 

4
PostgreSQL เหมาะสมกับระบบปฏิบัติการเดียวหรือไม่ Linux ดีกว่า Windows หรือเปล่า
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Server Fault อพยพ 8 ปีที่ผ่านมา ฉันใช้งาน PostgreSQL บน Windows Server 2003 โดยไม่ติดขัดและรวดเร็วดังนั้นเพื่อตอบคำถามของตัวเองดูเหมือนว่าใช้ได้ อย่างไรก็ตามฉันกำลังจะเปิดตัวโครงการใหม่และกำลังพิจารณาใช้กล่อง Linux แทนเนื่องจากความเสถียรและประสิทธิภาพมีความสำคัญ เนื่องจาก PostgreSQL ดูเหมือนว่าจะพัฒนาบน Linux ลีนุกซ์เป็นส่วนใหญ่, บางทีมันจะดีกว่าถ้าใช้กับ Linux?
26 postgresql 


3
kill -9 กระบวนการ postgres
แบบสอบถาม SELECT postgres หมดการควบคุมบนเซิร์ฟเวอร์ DB ของเราและเริ่มกินหน่วยความจำจำนวนมากและสลับไปมาจนกว่าเซิร์ฟเวอร์หมดหน่วยความจำ ผมพบว่ากระบวนการโดยเฉพาะอย่างยิ่งผ่านทางและวิ่งps aux | grep postgres kill -9 pidสิ่งนี้ทำให้กระบวนการและหน่วยความจำว่างลงอย่างที่คาดไว้ ส่วนที่เหลือของระบบและแบบสอบถาม postgres ดูเหมือนจะไม่ได้รับผลกระทบ เซิร์ฟเวอร์นี้ใช้ postgres 9.1.3 ใน SLES 9 SP4 อย่างไรก็ตามหนึ่งในนักพัฒนาของเราเคี้ยวฉันออกมาเพื่อฆ่ากระบวนการ postgres ด้วยkill -9โดยบอกว่ามันจะลดการให้บริการ postgres ทั้งหมด ในความเป็นจริงมันไม่ได้ ฉันได้ทำสิ่งนี้มาแล้วไม่กี่ครั้งและไม่เคยเห็นผลข้างเคียงใด ๆ ในทางลบ ด้วยที่กล่าวและหลังจากอ่านเพิ่มเติมดูเหมือนว่าkill pidไม่มีธงเป็นวิธีที่ต้องการฆ่ากระบวนการ postgres ที่หลบหนี แต่สำหรับผู้ใช้คนอื่น ๆ ในชุมชน postgres ก็ดูเหมือนว่า postgres จะ "ดีขึ้น" ในช่วงหลายปีที่ผ่านมาkill -9ในแต่ละกระบวนการ / เธรดการสืบค้นจะไม่มีประโยคตายอีกต่อไป …
25 linux  postgresql  sles  kill 

2
ฉันติดตั้งเซิร์ฟเวอร์ PostgreSQL ไว้หลายตัว ฉันจะปิดการใช้งานการบูตอัตโนมัติสำหรับเซิร์ฟเวอร์รุ่นเก่าได้อย่างไร
ฉันใช้ Ubuntu 12.04 บน Oracle VirtualBox สองสามเดือนที่ผ่านมาฉันติดตั้งเซิร์ฟเวอร์ PostgreSQL เวอร์ชัน 9.1 บนเครื่องของฉัน เมื่อเร็ว ๆ นี้ฉันได้เรียนรู้ว่าเซิร์ฟเวอร์ PostgreSQL 9.3 รองรับประเภทข้อมูล JSON ดังนั้นฉันจึงตัดสินใจอัพเกรด ฉันอัพเกรดเป็น 9.3 โดยทำตามคำแนะนำที่นี่: https://wiki.postgresql.org/wiki/Apt wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get upgrade sudo apt-get install postgresql-9.3 pgadmin3 เซิร์ฟเวอร์ที่ติดตั้งรุ่นนี้ 9.3 ในเครื่องของฉันพร้อมกับรุ่น 9.1 การรัน pg_lsclusters …

3
Postgres: ฉันจะดูคำสั่ง SQL ทั้งหมดที่ดำเนินการโดยเซิร์ฟเวอร์ฐานข้อมูลได้อย่างไร
ฉันอยู่ระหว่างการตรวจสอบคำสั่ง SQL ทุกคำที่แอปพลิเคชันทำกับฐานข้อมูลเพื่อเหตุผลด้านประสิทธิภาพ มีวิธีง่าย ๆ ในการบันทึกคำสั่งทั้งหมดที่ดำเนินการโดยเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL หรือไม่ ขอบคุณ

5
ไม่สามารถเชื่อมต่อกับอินสแตนซ์ postgresql rds สาธารณะได้
ฉันสร้างอินสแตนซ์ทดสอบ PostgreSQL RDS ขั้นพื้นฐานใน VPC ที่มีซับเน็ตสาธารณะเดียวและควรจะสามารถเชื่อมต่อผ่านอินเทอร์เน็ตสาธารณะได้ ใช้กลุ่มความปลอดภัยเริ่มต้นซึ่งเปิดสำหรับพอร์ต 5432 เมื่อฉันพยายามเชื่อมต่อจะล้มเหลว ฉันต้องคิดถึงบางสิ่งที่ตรงไปตรงมามาก - แต่ฉันก็หลงทางไปแล้ว นี่คือการตั้งค่าฐานข้อมูลโปรดทราบว่ามีการทำเครื่องหมายเป็นPublicly Accessible: นี่คือการตั้งค่ากลุ่มความปลอดภัยโปรดทราบว่ามันเปิดกว้าง (ยืนยันในการตั้งค่า RDS ข้างต้นโดยคำแนะนำ "อนุญาต" สีเขียวถัดจากจุดสิ้นสุด): นี่คือคำสั่งที่ฉันพยายามใช้เพื่อเชื่อมต่อ: psql --host=myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com \ --port=5432 --username=masteruser --password --dbname=testdb และนี่คือผลลัพธ์ที่ฉันได้รับเมื่อพยายามเชื่อมต่อจาก Yosemite MacBook Pro (หมายเหตุมันแก้ไขไปที่ 54. * ที่อยู่ ip): psql: could not connect to server: Operation timed out Is the server running …

1
เป็นไปได้หรือไม่ที่จะสลับเพียงหนึ่งบิตเพื่อให้ไฟล์ของฉันแสดงตัวอักษร“ Q” แทน“ S”
ในแอปพลิเคชันของเราเราใช้ Hibernate และ PostgreSQL เพื่อเก็บข้อมูล ในตารางฐานข้อมูลหนึ่งในเรามีคอลัมน์ discriminator ซึ่งระบุเช่น "TIPPSPIEL" มันเป็นสตริงคงที่และไม่สามารถจัดการได้โดยผู้ใช้ใด ๆ ทันใดนั้นเรามีหนึ่งรายการในตารางขนาดใหญ่นี้ที่เรามี "TIPPQPIEL" แทนที่จะเป็น "TIPPSPIEL" เราไม่มีเงื่อนงำว่าสิ่งนี้จะเกิดขึ้นได้อย่างไร เป็นไปได้หรือไม่ว่าฮาร์ดไดรฟ์ของเราสลับหนึ่งบิตดังนั้นตัวอักษร "S" ของเราจึงไม่ถูกเข้ารหัสเป็น "1010001" อีกต่อไป แต่กลายเป็น "Q" บนฮาร์ดดิสก์โดยเปลี่ยนไปหนึ่งบิตเช่นนี้: 1010011? ฉันไม่ใช่ผู้เชี่ยวชาญเรื่องฟิสิกส์ bit bit แต่ฉันเดาว่า OS หรือดิสก์มี checksums และสิ่งอื่น ๆ เพื่อให้แน่ใจว่าสิ่งนี้จะไม่เกิดขึ้น เป็นไปได้หรือไม่ที่จะสลับเพียงหนึ่งบิตเพื่อให้ไฟล์ของฉันแสดงตัวอักษร "Q" แทน "S" ปรับปรุง:เราทำการวิเคราะห์เพิ่มเติม ฐานข้อมูลทาสของเราได้รับ WAL Records จากต้นแบบ (คุณสมบัติ PostgreSQL) อะไรก็ตาม: เซิร์ฟเวอร์ทาสของเราควรจะซิงค์กัน แต่ทาสไม่ได้ซิงค์กันในแถวนี้ เราจะเห็นว่ามันเกิดขึ้นเมื่อสองสามวันก่อนโดยไม่มีการโต้ตอบใด …

5
วิธีที่ดีที่สุดในการสำรองข้อมูลฐานข้อมูล PostgreSQL โดยอัตโนมัติคืออะไร
ฉันคิดว่ามันน่าเบื่อที่ต้องสำรองฐานข้อมูลทุกสัปดาห์ และฉันก็คิดว่าการสำรองข้อมูลรายสัปดาห์ควรเปลี่ยนเป็นการสำรองข้อมูลรายวัน หากฉันต้องทำสิ่งนั้นฉันไม่ต้องการทำด้วยตนเอง เป็นวิธีที่ดีที่สุดในการสำรองฐานข้อมูล PostgreSQL โดยอัตโนมัติทุกวันอย่างไร

1
Postgres การนำแนวปฏิบัติที่ดีที่สุดไปปฏิบัติ
folks, ฉันสามารถใช้ความช่วยเหลือของคุณเพื่อทำให้การออกแบบการควบคุมการเข้าถึงผู้ใช้ของ Postgres ดีขึ้นและสอดคล้องกับแนวปฏิบัติที่ดีที่สุด ฉันกำลังช่วยเซิร์ฟเวอร์ Postgres ขนาดเล็กที่ผลิตออกมา แต่ฉันไม่ใช่ผู้ดูแลระบบ DB ดังนั้นฉันรู้ว่าเพียงพอที่จะเป็นอันตราย มีเซิร์ฟเวอร์เดียวที่ติดตั้ง Postgres v9.2 หนึ่งตัว การติดตั้งนี้จะโฮสต์ฐานข้อมูลหลายฐานโดยแต่ละแห่งจะให้บริการ "ลูกค้า" ที่แตกต่างกันอย่างสมบูรณ์ ในคำอื่น ๆ ลูกค้า 1 จะไม่ไม่ควรใช้ฐานข้อมูล 2 และอื่น ๆ ในระหว่างการดำเนินงานปกติฐานข้อมูลจะถูกเข้าถึงโดยอินสแตนซ์ที่ตรงกันของ CakePHP ซึ่งอยู่ร่วมกันบนเซิร์ฟเวอร์เดียวกันกับ Postgres แม้ว่าอาจมีการปรับให้เหมาะสมที่สุดสำหรับการปรับใช้นี้ แต่ฉันก็สนใจบทบาท Psql เป็นส่วนใหญ่ จากสิ่งที่ฉันอ่านดูเหมือนว่าบทบาทสามประเภทจะสมเหตุสมผล: Superuser postgres ด้วยรหัสผ่านที่ไม่ใช่ค่าเริ่มต้น บทบาทผู้ดูแลระบบที่ไม่มีสิทธิ์ superuser สำหรับการบำรุงรักษาตามปกติการสร้างฐานข้อมูลการสำรองข้อมูลการคืนค่า ควรจะสามารถทำอะไรกับฐานข้อมูลลูกค้าทั้งหมด บทบาทของผู้ใช้ที่มีเพียงความสามารถในการ CRUD ในฐานข้อมูลนั้น ๆ สิทธิเพิ่มเติมเกี่ยวกับฐานข้อมูลของตนเองสามารถยอมรับได้หากการดำเนินการล้างข้อมูล การนำการออกแบบไปใช้นั้นเป็นสิ่งที่ฉันมั่นใจน้อยมาก การเป็นเจ้าของฐานข้อมูล DB กับตารางและผู้ที่ควรสืบทอดจากใครคือโคลนเล็กน้อย …
21 postgresql  psql 

6
วิธีการกู้คืนฐานข้อมูล PostgreSQL จากไฟล์. tar
ฉันมีฐานข้อมูล PostgreSQL ทั้งหมดสำรองระหว่างการสำรองข้อมูลส่วนเพิ่มโดยใช้ WHM ซึ่งสร้าง $ dbName ไฟล์tar ข้อมูลถูกเก็บไว้ในไฟล์. tar เหล่านี้ แต่ฉันไม่ทราบวิธีการกู้คืนกลับไปยังฐานข้อมูลแต่ละรายการผ่าน SSH โดยเฉพาะตำแหน่งไฟล์ ฉันได้ใช้: pg_restore -d client03 /backup/cpbackup/daily/client03/psql/client03.tar ซึ่งสร้างข้อผิดพลาด 'ไม่สามารถเปิดไฟล์อินพุต: ปฏิเสธการอนุญาต' ความช่วยเหลือใด ๆ ชื่นชม
20 postgresql 

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