set enable_seqscan=true
VACUUM FULL ANALYZE
VACUUM
высвобождает пространство, занимаемое «мёртвыми» кортежами. При обычных операциях Postgres Pro кортежи, удалённые или устаревшие в результате обновления, физически не удаляются из таблицы; они сохраняются в ней, пока не будет выполнена команда VACUUM
. Таким образом, периодически необходимо выполнять VACUUM
, особенно для часто изменяемых таблиц.
Без параметра команда VACUUM
обрабатывает все таблицы в текущей базе данных, которые может очистить текущий пользователь. Если в параметре передаётся имя таблицы, VACUUM
обрабатывает только эту таблицу.
VACUUM ANALYZE
выполняет очистку (VACUUM
), а затем анализ (ANALYZE
) всех указанных таблиц. Это удобная комбинация для регулярного обслуживания БД. За дополнительной информацией об анализе обратитесь к описанию ANALYZE.
Простая команда VACUUM
(без FULL
) только высвобождает пространство и делает его доступным для повторного использования. Эта форма команды может работать параллельно с обычными операциями чтения и записи таблицы, так она не требует исключительной блокировки. Однако освобождённое место не возвращается операционной системе (в большинстве случаев); оно просто остаётся доступным для размещения данных этой же таблицы. VACUUM FULL
переписывает всё содержимое таблицы в новый файл на диске, не содержащий ничего лишнего, что позволяет возвратить неиспользованное пространство операционной системе. Эта форма работает намного медленнее и запрашивает исключительную блокировку для каждой обрабатываемой таблицы.
Когда список параметров заключается в скобки, параметры могут быть записаны в любом порядке. Без скобок параметры должны указываться именно в том порядке, который показан выше. Синтаксис со скобками появился в PostgreSQL 9.0; вариант записи без скобок считается устаревшим.
Angular: Server Side Rendering
Данная возможность позволяет производить отрисовку страниц на стороне сервера. Подробнее об этом написано здесь:
Вывод
- запуск производиться не через команду ng server, а через npm run serve:ssr. Используется сервер node.js с express модулем

- после любых изменений в компоненте требуется выполнить команду npm run build:ssr (пересобрать проект) и только после этого запускать команду npm run serve:ssr

Angular 4 Jump start — краткий пересказ
Заметки:
// использование переменных в html
let i = index
// равнозначно
index as i
tslint.json — предназначен для редактирование (настройки) оформления проекта. В файле angular-cli.json указываются настройки CLI
Файл с расширением *.spec предназначен для тестирования.
// это и есть мета-данные
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
Для подмены префикса у компонентов, например в app-root, заменить app на название фирмы, нужно перейти в файл .angular-cli.json и найти свойство префикс и подменить его
Читать далее «Angular 4 Jump start — краткий пересказ»Http запросы в Angular
Подключение HttpClient
// app.module.ts
import { HttpClientModule } from '@angular/common/http';
@NgModule({
...
imports: [
...
HttpClientModule
],
...
})
Примечание: обработка данных происходит через объект Observable
Читать далее «Http запросы в Angular»Angular сервисы
Сервисы не имеют представлений
ng g service [имя сервиса]
Примечание!!! После генерации сервиса обновление app.component.ts не происходит.

И поэтому нам самим вручную нужно прописать ссылку на сервис в файле app.module.ts
Читать далее «Angular сервисы»Роутинг приложения. Первое приложение Angular
Чтобы объяснить как это работает проще перейти сразу к примера.
Для начала при помощи команды ng generate создадим пару страниц:
- home
- about
- news
- price
- notfound
ng generate component [имя страницы]Читать далее «Роутинг приложения. Первое приложение Angular»
NgStyle,NgClass. Динамическая стилизация компонентов
ngClass — позволяет определить набор классов которые применяются к элементу
<div [ngClass]="{class1: true}"> (1)
<h1>Hello World!!!</h1>
<p [ngClass]="{class2: true}">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Magnam cupiditate
voluptates sed voluptate a dolores
ipsa dignissimos in nam cumque consequuntur, iste dolore? Voluptatum reiciendis doloremque eligendi
dignissimos, iusto deleniti.</p>
</div>
.class1{
color: red;
}
.class2{
color: yellow;
}
Применение стилей для элемента осуществляется при помощи директивы ngClass, которой присваивается объект в виде строки «{class1:true}». Где class1 — имя класса, а параметр true — нужно применять класс или нет.
Читать далее «NgStyle,NgClass. Динамическая стилизация компонентов»Двусторонняя привязка данных — ngModel
В app.module.ts импортируем модуль @angular/forms (1) В imports прописываем добавленный модуль (2)
...Читать далее «Двусторонняя привязка данных — ngModel»
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms'; (1)
...
@NgModule({
declarations: [
AppComponent,
DateComponent
],
imports: [
...,
FormsModule (2)
],
providers: [],
bootstrap: [AppComponent]
})
...
Click. Отслеживание событий
<button (click)="myEvent($event)">(1)
Event
</button>
export class DateComponent implements OnInit {
constructor() {
}
myEvent(event) { // (2)
console.log(event);
}
...
В шаблоне для элемента button добавляем событие click (1), которое при помощи одностороннего бандинга, может обрабатываться в классе компонента (2).
Читать далее «Click. Отслеживание событий»