Съдържание
PSQL е командният ред, конзолата, която по подразбиране се предлага с PostgreSQL, това ни позволява да изпълняваме заявки и дори ни позволява да го използваме като инструмент за извършване на автоматизирани скриптове, импортиране и експортиране на данни, възстановяване, администриране на база данни и дори като основен генератор на отчети.За да използвате интерактивната конзола PSQL Първо трябва да знаем какви команди можем да използваме в този режим, за това можем да получим достъп до общата помощ, която имаме, като използваме следната инструкция:
psql \?
С това ще покажем списък на това, което можем да използваме, освен това, ако имаме въпроси с SQL израз, можем да използваме тази помощ, за да получим конкретна информация за споменатата команда, например:
\ h СЪЗДАВАНЕ НА ТАБЛИЦА
Това би ни дало резултат като този, който ще видим на следващото изображение.
Как можем да наблюдаваме помощта ни показва всички валидни опции, които можем да използваме при изпълнение на команда или SQL израз в нашия интерактивен команден ред PSQL.
Неинтерактивната конзола означава, че искаме от командния ред да изпълни скриптов файл, който съдържа комбинация от SQL изрази с команди PSQLМожем дори алтернативно да предадем SQL изрази в извикването за изпълнение в неинтерактивната конзола. Това ни позволява да улесним създаването на автоматизирани задачи, тъй като можем да съхраняваме инструкциите, които искаме да изпълним, във файл и след това да планираме тяхното изпълнение, когато имаме нужда от тях.
За да изпълним файл, просто използваме параметъра -f, както следва
psql -f some_script_file
Ако нямаме команди във файл, можем да ги предадем директно на конзолата по следния начин:
psql -d postgresql_book -c "DROP TABLE IF EXISTS dross; CREATE SCHEMA staging;"
Както видяхме, можем да включим множество изявления, стига да ги разделим с точка и запетая.
Нека да видим как да изградим файл с интерактивни команди вътре:
\ a \ t \ g create_script.sql SELECT 'CREATE TABLE staging.factfinder_import (geo_id varchar (255), geo_id2 varchar (255), geo_display varchar (255),' || array_to_string (array_agg ('s' || lpad (i :: текст, 2, '0') || 'varchar (255), s' || lpad (i :: text, 2, '0') || '_perc varchar (255)'), ',') || ');' ОТ gene_series (1,51) As i; \ o \ i create_script.sql
Ние използваме \ t за премахване на заглавките и \ a за премахване на генерираните елементи на прекъсване, след това с \ g уточняваме, че ще генерираме файл за изхода на това, което генерира нашата заявка. След това с функцията lpad ще позволи на колоните ни да имат структурата s01, s01_perc, s02, s02_perc. Извикваме командата \ o, за да спрем дампа във файла, след което за ефективно генериране на файла използваме интерактивната команда \ i.
Накрая можем да стартираме нашия файл с командата:
psql -f build_stage.psql -d postgresql_book
С това ние изградихме нашата функционалност по доста прост начин благодарение на инструментите на конзолата или PSQL командния ред. С това приключваме нашия урок, вече знаем малко повече за конзолата и различните среди, които тя обработва, като например интерактивни и неинтерактивни.