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

psql เป็นเทอร์มินัลโต้ตอบหลักสำหรับ PostgreSQL (อย่าใช้แท็กนี้สำหรับคำถามที่กำหนดเป้าหมายไปที่ PostgreSQL!)

7
ฉันจะแสดงรายการฐานข้อมูลและตารางทั้งหมดโดยใช้ psql ได้อย่างไร
ฉันพยายามเรียนรู้การดูแลระบบ PostgreSQL และเริ่มเรียนรู้วิธีใช้psqlเครื่องมือบรรทัดคำสั่ง เมื่อฉันเข้าสู่ระบบด้วยpsql --username=postgresฉันจะแสดงรายการฐานข้อมูลและตารางทั้งหมดได้อย่างไร ฉันได้พยายาม\d, dและdS+แต่ไม่มีอะไรที่เป็น บริษัท จดทะเบียน ฉันได้สร้างฐานข้อมูลสองแห่งและตารางสองสามรายการด้วย pgAdmin III ดังนั้นฉันจึงรู้ว่าควรแสดงรายการอยู่


7
รายการสิทธิ์ของฐานข้อมูลโดยใช้ psql
ฉันอยู่ระหว่างการย้ายเซิร์ฟเวอร์ฐานข้อมูลและฉันไม่สามารถคิด (หลังจากค้นหาและค้นหาที่นี่) ฉันจะแสดงรายการสิทธิ์การใช้ฐานข้อมูล (หรือสิทธิ์ทั้งหมดบนเซิร์ฟเวอร์) บน PostgreSQL โดยใช้psqlเครื่องมือบรรทัดคำสั่งได้อย่างไร ฉันใช้ Ubuntu 11.04 และรุ่น PostgreSQL ของฉันคือ 8.2.x

4
จะรับชื่อฐานข้อมูลปัจจุบันจากภายใน PostgreSQL ได้อย่างไร
ใช้\c <database_name>ใน PostgreSQL จะเชื่อมต่อกับฐานข้อมูลที่มีชื่อ ชื่อของฐานข้อมูลปัจจุบันจะถูกกำหนดได้อย่างไร? เข้าสู่: my_db> current_database(); ผลิต: ERROR: syntax error at or near "current_database" LINE 1: current_database();
81 postgresql  psql 

4
วิธีการใช้ psql โดยไม่แจ้งรหัสผ่าน?
ฉันเขียนสคริปต์เพื่อREINDEXจัดทำดัชนีในฐานข้อมูล นี่คือหนึ่งในนั้น: echo -e "\nreindex for unq_vbvdata_vehicle started at: `date "+%F %T"`" >> ${LOG_FILE} psql -U ${USERNAME} -h ${HOSTNAME} -d ${DBNAME} -c "REINDEX INDEX scm_main.unq_vbvdata_vehicle;" if [[ ${?} -eq 0 ]]; then echo "reindex for unq_vbvdata_vehicle finished at: `date "+%F %T"`" >> ${LOG_FILE} else echo "reindex for unq_vbvdata_vehicle failed" >> …
70 postgresql  index  psql 

4
วิธีการเรียกใช้ psql บน Mac OS X
ฉันติดตั้ง PostgreSQL บนคอมพิวเตอร์ที่มี Mac OS X โดยใช้ตัวติดตั้งแบบคลิกเดียว จากนั้นฉันพยายามเข้าถึง PostgreSQL โดยใช้psqlคำสั่ง แต่ดูเหมือนจะไม่พร้อมใช้งาน ฉันได้รับข้อความนี้: psql -bash: psql: command not found ฉันต้องติดตั้งอะไรเพิ่มเติมหรือไม่ หรือฉันจะกำหนดค่า PostgreSQL เพื่อให้สามารถใช้กับคอมพิวเตอร์ได้อย่างไร

14
PostgreSQL ทำงานในเครื่อง แต่ฉันไม่สามารถเชื่อมต่อได้ ทำไม?
เพิ่งปรับปรุงเครื่องของฉันจาก Mac OS X Lion (10.7.4) เป็น Mountain Lion (10.8) และฉันคิดว่ามันติดตั้ง PostgreSQL ของฉัน มันถูกติดตั้งครั้งแรกผ่านทาง Homebrew ฉันไม่ใช่ DBA แต่หวังว่าจะมีคนบอกฉันได้ว่าจะแก้ไขปัญหานี้อย่างไร ฉันไม่สามารถเชื่อมต่อได้ (แต่สามารถทำก่อนหน้า Lion Mountain ล่วงหน้าได้): $ psql -U rails -d myapp_development psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix …

2
แหล่งที่มาหลายไฟล์พร้อมกันด้วย psql
ฉันต้องการรันสคริปต์ sql หลาย ๆ ตัวตามลำดับโดยpsqlเป็นธุรกรรมเดียวเพื่อตั้งค่าสคีมาฐานข้อมูลของฉัน วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? ในอดีตฉันรู้ว่าฉันมีสคริปต์หลักที่ฉันpsqlพบซึ่งรวมถึงไฟล์อื่น ๆ ด้วย แต่ฉันไม่จำไวยากรณ์ของสคริปต์นี้
27 postgresql  psql 

3
วิธีปิดส่วนหัวใน psql เท่านั้น (postgresql)
ฉันใช้ PostgreSQL 9.1.X ฉันพยายามสร้างpsqlสคริปต์เพื่อพิมพ์ผลลัพธ์โดยไม่มีส่วนหัว แต่รวมส่วนท้ายด้วย http://www.postgresql.org/docs/9.1/static/app-psql.html จากเอกสารด้านบน \pset tuples_only จะปิดทั้งส่วนหัวและส่วนท้าย และ \pset footer off จะปิดท้ายกระดาษเท่านั้น มีวิธีในpsqlการปิดส่วนหัวและเก็บส่วนท้ายหรือไม่ ฉันรู้ว่ามีหลายวิธีในการแก้ไขปัญหานี้โดยใช้ shell / perl / เครื่องมือข้อความใด ๆ ก็ตามที่คุณต้องการ แต่ฉันสงสัยว่าทำไมมีการกำหนดค่าสำหรับส่วนท้าย id <--this line I don't want ---- <-- this line I don't want either 1 <-- this line, yes (1 row) <-- yes, I want …
18 postgresql  psql 

1
มี psql เทียบเท่ากับประวัติการค้นหาย้อนกลับของ bash หรือไม่
ฉันชื่นชอบbashreverse-search-history (Cr) (คุณสมบัติบรรทัดคำสั่ง) ของ: ค้นหาย้อนหลังเริ่มต้นที่บรรทัดปัจจุบันและเลื่อน 'up' ผ่านประวัติตามความจำเป็น นี่คือการค้นหาที่เพิ่มขึ้น เมื่อฉันตีcontrol-rในbashที่ฉันได้รับต่อไปนี้: (reverse-i-search)`': และฉันสามารถพิมพ์อักขระของคำสั่งที่เรียกใช้งานก่อนหน้านี้ได้โดยให้ความเคารพกับสิ่งที่ฉันกำลังมองหา หากฉันทำผิดฉันสามารถป้อนcontrol-hเพื่อลบอักขระ (เทียบเท่าbackspace) ฟังก์ชันบรรทัดคำสั่งนี้ทำให้ง่ายต่อการอ้างถึงคำสั่งที่เรียกใช้ก่อนหน้านี้ ฉันสงสัยว่ามีความสามารถดังกล่าวอยู่psqlหรือไม่ ฉันคิดว่ามันไม่มีประสิทธิภาพมากที่จะพึ่งพาเพียงและcontrol-pcontrol-n สำหรับสิ่งที่คุ้มค่าผมใช้PostgreSQL 9.3.1 on x86_64-apple-darwin13.0.0, compiled by Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn), 64-bit- ได้รับผ่านทางPostgres.app

3
ทำไม pg_restore ไม่สนใจ - สร้าง? ข้อผิดพลาด: ล้มเหลว: FATAL: ฐานข้อมูล“ new_db” ไม่มีอยู่
ฉันพยายามเรียกใช้คำสั่งต่อไปนี้: sshpass -p "pass" ssh x@1.2.3.4 "pg_dump -Fc -U foo some_db" | pg_restore --create --dbname=new_db ฉันเข้าใจ: failed: FATAL: database "new_db" does not exist

2
ทำไมฉันไม่เห็นตารางของฉัน (PostgreSQL) เมื่อฉันใช้ \ dt (+) ภายใน psql
ฉันได้สร้างตารางdonorในสคีมาreferenceตาม: CREATE TABLE reference.donor ( donor_code smallint PRIMARY KEY, donor_name character varying NOT NULL, donor_type smallint REFERENCES reference.donor_type (type_id), alpha_2_code char(2) REFERENCES reference.iso_3166_1 (alpha_2_code) ); ฉันเติมตารางตาม: INSERT INTO reference.donor (donor_code, donor_name, donor_type, alpha_2_code) SELECT donor_code, donor_name, donor_type, alpha_2_code FROM reference.donor_template; เมื่อฉันวิ่ง: \dt+ reference.* ภายใน psql ฉันเห็นreference.donorตาราง: List of relations Schema …

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 

1
สิทธิพิเศษจะแสดงรายการใน \ l และเมื่อใด
สิทธิในการเข้าถึงถูกระบุโดย \ l เมื่อใดและจะไม่ใช้ สิทธิ์การเข้าถึงที่ระบุโดย \ l สามารถเปลี่ยนแปลงได้หลังจากการให้สิทธิ์และการเพิกถอน: $ createuser -EP my_readonly $ psql development development=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------------------------+----------+----------+-------------+-------------+----------------------- development | vagrant | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | ... development=# grant usage on schema public …

4
วิธีหยุดสคริปต์ psql แบบมีเงื่อนไข (ขึ้นอยู่กับค่าตัวแปร)
ลองพิจารณาตัวอย่างต่อไปนี้ (ตั้งแต่เริ่มต้นของสคริปต์ psql): \c :db_to_run_on TRUNCATE the_most_important_table; -- tried to avoid similarities to anything that exists out there ตอนนี้ถ้ามันถูกเรียกใช้โดยคำสั่ง psql [connection details] -v db_to_run_on=\'dev_database\' จากนั้นมันจะทำงานและผู้ใช้มีความสุข แต่สิ่งที่ถ้า (s) เขาตัดสินใจที่จะระบุ-v db_to_run_on=production_database? (สมมติว่าสิ่งนี้สามารถเกิดขึ้นได้เช่นเดียวกับที่ผู้คนเรียกใช้rm -rf / # don't try this at home!!!บางครั้ง) หวังว่าจะมีการสำรองข้อมูลใหม่ของตารางนั้น ... ดังนั้นคำถามที่เกิดขึ้น: วิธีการตรวจสอบตัวแปรที่ส่งผ่านไปยังสคริปต์และหยุดการประมวลผลเพิ่มเติมตามค่าของพวกเขา
10 postgresql  psql 

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