\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{fggreen} \pdfinfo{ /Title (pg.pdf) /Creator (Cheatography) /Author (fggreen) /Subject (pg Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{A3A3A3} \definecolor{LightBackground}{HTML}{F3F3F3} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{pg Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{fggreen} via \textcolor{DarkBackground}{\uline{cheatography.com/35268/cs/11091/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}fggreen \\ \uline{cheatography.com/fggreen} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 6th March, 2017.\\ Updated 21st March, 2017.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{изменить root пароль в PostgreSQL}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\$ {\emph{*}}/psql postgres postgres \newline % Row Count 1 (+ 1) Password: (oldpassword) \newline % Row Count 2 (+ 1) \# ALTER USER postgres WITH PASSWORD 'tmppassword'; \newline % Row Count 4 (+ 2) \$ {\emph{*}}/psql postgres postgres \newline % Row Count 5 (+ 1) Password: (tmppassword)% Row Count 6 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Create user PostgreSQL}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Метод 1: Создаем пользователя в через PSQL шелл, командой CREATE USER. \newline % Row Count 3 (+ 3) \# CREATE USER ramesh WITH password 'tmppassword'; \newline % Row Count 5 (+ 2) CREATE ROLE \newline % Row Count 6 (+ 1) Метод 2: Создаем пользователя в через шелл команду createuser. \newline % Row Count 9 (+ 3) \$ */createuser sathiya \newline % Row Count 10 (+ 1) Shall the new role be a superuser? (y/n) n \newline % Row Count 11 (+ 1) Shall the new role be allowed to create databases? (y/n) n \newline % Row Count 13 (+ 2) Shall the new role be allowed to create more new roles? (y/n) n \newline % Row Count 15 (+ 2) CREATE ROLE% Row Count 16 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Help}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Команда \textbackslash{}? отобразит строку помощи для команда PSQL. \textbackslash{}h CREATE покажет хелп для всех команд который начинаются с CREATE. \newline % Row Count 5 (+ 5) \# \textbackslash{}? \newline % Row Count 6 (+ 1) \# \textbackslash{}h CREATE \newline % Row Count 7 (+ 1) \# \textbackslash{}h CREATE INDEX% Row Count 8 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{список всех таблиц в базе}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\# \textbackslash{}d \newline % Row Count 1 (+ 1) Для пустой базы вы получите сообщение "No relations found."% Row Count 3 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{psql команды}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\$ su - postgres \newline % Row Count 1 (+ 1) psql -l - список баз данных. \newline % Row Count 2 (+ 1) psql -d dbname - подключение к БД dbname. \newline % Row Count 4 (+ 2) psql -f file.sql - выполнение команд из файла file.sql. \newline % Row Count 6 (+ 2) psql -U postgres -d dbname -c "CREATE TABLE test(some\_id serial PRIMARY KEY, some\_text text);" - выполнение команды в базе dbname. \newline % Row Count 10 (+ 4) psql -d dbname -H -c "SELECT * FROM test" -o test.html - вывод результата запроса в html-файл.% Row Count 13 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{Все команды запускаются под \seqsplit{пользователем} postgres \seqsplit{(postgresql-суперпользователь)}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Backup}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{В PostgreSQL есть две утилиты для бекапа pg\_dump и pg\_dumpall. pg\_dump используется для бекапа одной базы, pg\_dumpall для бекапа всех баз и сервера в целом (необходимо запускать под \seqsplit{postgresql-суперпользователем)}. \newline % Row Count 7 (+ 7) Создание бекапа базы mydb, в сжатом виде \newline % Row Count 9 (+ 2) pg\_dump -h localhost -p 5432 -U someuser -F c -b -v -f mydb.backup mydb \newline % Row Count 11 (+ 2) Создание бекапа базы mydb, в виде обычного текстового файла, включая команду для создания БД \newline % Row Count 15 (+ 4) pg\_dump -h localhost -p 5432 -U someuser -C -F p -b -v -f mydb.backup mydb \newline % Row Count 17 (+ 2) Создание бекапа базы mydb, в сжатом виде, с таблицами которые содержат в имени payments \newline % Row Count 20 (+ 3) pg\_dump -h localhost -p 5432 -U someuser -F c -b -v -t {\emph{payments}} -f payment\_tables.backup mydb \newline % Row Count 22 (+ 2) Дамп данных только одной, конкретной таблицы. Если нужно создать резервную копию нескольких таблиц, то имена этих таблиц \seqsplit{перечисляются} с помощью ключа -t для каждой таблицы. \newline % Row Count 29 (+ 7) pg\_dump -a -t table\_name -f file\_name database\_name \newline % Row Count 31 (+ 2) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Backup (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Создание резервной копии с сжатием в gz \newline % Row Count 2 (+ 2) pg\_dump -h localhost -O -F p -c -U postgres mydb | gzip -c \textgreater{} mydb.gz \newline % Row Count 4 (+ 2) Список наиболее часто используемых опций: \newline % Row Count 6 (+ 2) -h host - хост, если не указан то используется localhost или значение из переменной окружения PGHOST. \newline % Row Count 10 (+ 4) -p port - порт, если не указан то используется 5432 или значение из переменной окружения PGPORT. \newline % Row Count 14 (+ 4) -u - пользователь, если не указан то используется текущий пользователь, также значение можно указать в переменной окружения PGUSER. \newline % Row Count 19 (+ 5) -a, -{}-data-only - дамп только данных, по-умолчанию сохраняются данные и схема. \newline % Row Count 22 (+ 3) -b - включать в дамп большие объекты (blog'и). \newline % Row Count 24 (+ 2) -s, -{}-schema-only - дамп только схемы. \newline % Row Count 26 (+ 2) -C, -{}-create - добавляет команду для создания БД. \newline % Row Count 28 (+ 2) -c - добавляет команды для удаления (drop) объектов (таблиц, видов и т.д.). \newline % Row Count 31 (+ 3) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Backup (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{-O - не добавлять команды для установки владельца объекта (таблиц, видов и т.д.). \newline % Row Count 3 (+ 3) -F, -{}-format \{c|t|p\} - выходной формат дампа, custom, tar, или plain text. \newline % Row Count 5 (+ 2) -t, -{}-table=TABLE - указываем определенную таблицу для дампа. \newline % Row Count 7 (+ 2) -v, -{}-verbose - вывод подробной информации. \newline % Row Count 9 (+ 2) -D, -{}-attribute-inserts - дамп используя команду INSERT с списком имен свойств. \newline % Row Count 12 (+ 3) Бекап всех баз данных используя команду pg\_dumpall.% Row Count 14 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Check server status}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Linux:}} \newline % Row Count 1 (+ 1) \$ status \newline % Row Count 2 (+ 1) Password: \newline % Row Count 3 (+ 1) pg\_ctl: server is running (PID: 6171) \newline % Row Count 4 (+ 1) {[}Замечание: Это сообщение говорит о том, что сервер запущен и работаеn нормально{]} \newline % Row Count 7 (+ 3) \$ status \newline % Row Count 8 (+ 1) Password: \newline % Row Count 9 (+ 1) pg\_ctl: no server running \newline % Row Count 10 (+ 1) {[}Замечание: Это сообщение говорит о том, что сервер не запущен{]} \newline % Row Count 13 (+ 3) {\bf{Mac OS:}} \newline % Row Count 14 (+ 1) ps auxwww | grep postgres% Row Count 15 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Create database}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Linux}} \newline % Row Count 1 (+ 1) Метод 1: Создаем базу черезе PSQL шелл, с помощью команды CREATE DATABASE. \newline % Row Count 4 (+ 3) \# CREATE DATABASE mydb WITH OWNER ramesh; \newline % Row Count 5 (+ 1) CREATE DATABASE \newline % Row Count 6 (+ 1) Метод 2: Используем команду createdb. \newline % Row Count 8 (+ 2) \$ */createdb mydb -O ramesh \newline % Row Count 9 (+ 1) CREATE DATABASE \newline % Row Count 10 (+ 1) {\bf{Mac OS}} \newline % Row Count 11 (+ 1) createdb -Otunnelsup -Eutf8 mysite\_development \newline % Row Count 12 (+ 1) {[}{\bf{-O}} означает что пользователь является владельцем базы данных{]}% Row Count 15 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{удалить базу в PostgreSQL}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\# \textbackslash{}l \newline % Row Count 1 (+ 1) List of databases \newline % Row Count 2 (+ 1) Name | Owner | Encoding \newline % Row Count 3 (+ 1) \seqsplit{———-+———-+———-} \newline % Row Count 4 (+ 1) backup | postgres | UTF8 \newline % Row Count 5 (+ 1) mydb | ramesh | UTF8 \newline % Row Count 6 (+ 1) postgres | postgres | UTF8 \newline % Row Count 7 (+ 1) template0 | postgres | UTF8 \newline % Row Count 8 (+ 1) template1 | postgres | UTF8 \newline % Row Count 9 (+ 1) \# DROP DATABASE mydb; \newline % Row Count 10 (+ 1) DROP DATABASE% Row Count 11 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{psql команды}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\textbackslash{}c dbname - \seqsplit{подсоединение} к БД dbname. \newline % Row Count 2 (+ 2) \textbackslash{}l - список баз данных. \newline % Row Count 3 (+ 1) \textbackslash{}dt - список всех таблиц. \newline % Row Count 4 (+ 1) \textbackslash{}d table - структура таблицы table. \newline % Row Count 6 (+ 2) \textbackslash{}du - список всех \seqsplit{пользователей} и их привилегий. \newline % Row Count 8 (+ 2) \textbackslash{}dt+ - список всех таблиц с описанием. \newline % Row Count 10 (+ 2) \textbackslash{}dt {\emph{s}} - список всех таблиц, содержащих s в имени. \newline % Row Count 12 (+ 2) \textbackslash{}i FILE - выполнить команды из файла FILE. \newline % Row Count 14 (+ 2) \textbackslash{}o FILE - сохранить результат запроса в файл FILE. \newline % Row Count 16 (+ 2) \textbackslash{}a - переключение между режимами вывода: с/без \seqsplit{выравнивания.}% Row Count 19 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Recovery}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{В PostgreSQL есть две утилиты для \seqsplit{восстановления} базы из бекапа. \newline % Row Count 3 (+ 3) psql - \seqsplit{восстановление} бекапов, которые хранятся в обычном текстовом файле (plain text); \newline % Row Count 6 (+ 3) pg\_restore - \seqsplit{восстановление} сжатых бекапов (tar); \newline % Row Count 8 (+ 2) \seqsplit{Восстановление} всего бекапа с \seqsplit{игнорированием} ошибок \newline % Row Count 10 (+ 2) psql -h localhost -U someuser -d dbname -f mydb.sql \newline % Row Count 12 (+ 2) \seqsplit{Восстановление} всего бекапа с остановкой на первой ошибке \newline % Row Count 15 (+ 3) psql -h localhost -U someuser -{}-set ON\_ERROR\_STOP=on -f mydb.sql \newline % Row Count 17 (+ 2) Для \seqsplit{восстановления} из tar-арихива нам понадобиться сначала создать базу с помощью CREATE DATABASE mydb; (если при создании бекапа не была указана опция -C) и восстановить \newline % Row Count 23 (+ 6) pg\_restore -{}-dbname=mydb -{}-jobs=4 -{}-verbose mydb.backup \newline % Row Count 25 (+ 2) \seqsplit{Восстановление} резервной копии БД, сжатой gz \newline % Row Count 27 (+ 2) gunzip mydb.gz \newline % Row Count 28 (+ 1) psql -U postgres -d mydb -f mydb \newline % Row Count 29 (+ 1) Начиная с версии 9.2 можно восстановить только структуру таблиц с помощью опции -{}-section \newline % Row Count 33 (+ 4) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Recovery (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\# создаем БД \newline % Row Count 1 (+ 1) CREATE DATABASE mydb2; \newline % Row Count 2 (+ 1) \# \seqsplit{восстанавливаем} \newline % Row Count 3 (+ 1) pg\_restore -{}-dbname=mydb2 -{}-section=pre-data -{}-jobs=4 mydb.backup% Row Count 5 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Run/Stop/Restart}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\# service postgresql stop \newline % Row Count 1 (+ 1) Stopping PostgreSQL: server stopped \newline % Row Count 2 (+ 1) ok \newline % Row Count 3 (+ 1) \# service postgresql start \newline % Row Count 4 (+ 1) Starting PostgreSQL: \newline % Row Count 5 (+ 1) ok \newline % Row Count 6 (+ 1) \# service postgresql restart \newline % Row Count 7 (+ 1) Restarting PostgreSQL: server stopped \newline % Row Count 8 (+ 1) ok% Row Count 9 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{список всех баз в Postgresql}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\# \textbackslash{}l \newline % Row Count 1 (+ 1) List of databases \newline % Row Count 2 (+ 1) Name | Owner | Encoding \newline % Row Count 3 (+ 1) \seqsplit{———-+———-+———-} \newline % Row Count 4 (+ 1) backup | postgres | UTF8 \newline % Row Count 5 (+ 1) mydb | ramesh | UTF8 \newline % Row Count 6 (+ 1) postgres | postgres | UTF8 \newline % Row Count 7 (+ 1) template0 | postgres | UTF8 \newline % Row Count 8 (+ 1) template1 | postgres | UTF8% Row Count 9 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{время выполнения запроса}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\# \textbackslash{}timing — после выполения данной команды каждый последующий запрос будет показывать время выполнения. \newline % Row Count 4 (+ 4) \# \textbackslash{}timing \newline % Row Count 5 (+ 1) Timing is on. \newline % Row Count 6 (+ 1) \# SELECT * from \seqsplit{pg\_catalog.pg\_attribute;} \newline % Row Count 7 (+ 1) Time: 9.583 ms% Row Count 8 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{файл истории postgreSQL}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{\$ cat \textasciitilde{}/.psql\_history \newline % Row Count 1 (+ 1) alter user postgres with password 'tmppassword'; \newline % Row Count 3 (+ 2) \textbackslash{}h alter user \newline % Row Count 4 (+ 1) select version(); \newline % Row Count 5 (+ 1) create user ramesh with password 'tmppassword'; \newline % Row Count 7 (+ 2) \textbackslash{}timing \newline % Row Count 8 (+ 1) select * from \seqsplit{pg\_catalog.pg\_attribute;}% Row Count 9 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Other}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{Очищение таблицы \newline % Row Count 1 (+ 1) Очищение таблицы tablename и обнуление счетчика с ID. \newline % Row Count 3 (+ 2) TRUNCATE TABLE tablename RESTART IDENTITY CASCADE; \newline % Row Count 5 (+ 2) CASCADE нужен на случай если tablename связана с другой таблицей. \newline % Row Count 8 (+ 3) Удаление NULL у поля \newline % Row Count 9 (+ 1) ALTER TABLE movies ALTER COLUMN year DROP NOT NULL; \newline % Row Count 11 (+ 2) Утилиты \newline % Row Count 12 (+ 1) pgcli утилита командной строки с \seqsplit{авто-дополнениям} и подсветкой синтаксиса. \newline % Row Count 15 (+ 3) Установка \newline % Row Count 16 (+ 1) pip install pgcli \newline % Row Count 17 (+ 1) Запуск \newline % Row Count 18 (+ 1) pgcli -U postgres -W dbname% Row Count 19 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}