PostgreSQL remote access

append file:

sudo  nano etc/postgresql/9.6/main/pg_hba.conf

with:

host all all 10.10.29.0/24 trust

append file:

/etc/postgresql/9.6/main/postgresql.conf

with:

listen_addresses=’*’

or

listen_addresses=’10.144.56.2 10.144.56.3′

Advertisements

Show each tables size in mysql database

 

Show each table size in mysql database:

SELECT 
    table_name AS "Table",  
    round(((data_length + index_length) / 1024 / 1024), 2) as TEST   
FROM information_schema.TABLES  
WHERE table_schema = "YOUR_DATABASE_NAME"  
ORDER BY TEST;

 

Show each database size in mysql:
SELECT table_schema "DB Name", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM   information_schema.tables GROUP  BY table_schema; 

Типы чтения и уровни изоляции транзакций

Для транзакций существует несколько типов чтения:

Грязное чтение(dirty reads) происходит, когда транзакциям разрешено видеть несохраненные изменения данных. Иными словами, изменения, сделанные в одной транзакции, видны вне ее до того, как она была сохранена. Если изменения не будут сохранены, то, вероятно, другие транзакции выполняли работу на основе некорректных данных;

Непроверяющееся чтение(nonrepeatable reads) происходит, когда транзакция А читает строку, транзакция Б изменяет эту строку, транзакция А читает ту же строку и получает обновленные данные;

Фантомное чтение(phantom reads) происходит, когда транзакция А считывает все строки, удовлетворяющие WHERE-условию, транзакция Б вставляет новую или удаляет одну из строк, которая удовлетворяет этому условию, транзакция А еще раз считывает все строки, удовлетворяющие WHERE-условию, уже вместе с новой строкой или недосчитавшись старой.
JDBC удовлетворяет четырем уровням изоляции транзакций, определенным в стандарте SQL:2003.
Уровни изоляции транзакций определены в виде констант интерфейса Connection(по возрастанию уровня ограничения):
TRANSACTION_NONE–информирует о том, что драйвер не поддерживает транзакции;
TRANSACTION_READ_UNCOMMITTED–позволяет транзакциям видеть несохраненные изменения данных, что разрешает грязное, непроверяющееся и фантомное чтения;
TRANSACTION_READ_COMMITTED–означает, что любое изменение, сделанное в транзакции, не видно вне неё, пока она не сохранена. Это предотвращает грязное чтение, но разрешает непроверяющееся и фантомное;
TRANSACTION_REPEATABLE_READ–запрещает грязное и непроверяющееся, но фантомное чтение разрешено;
TRANSACTION_SERIALIZABLE–определяет, что грязное, непроверяющееся и фантомное чтения запрещены.

ACID

Атомарность–две или более операций выполняются все или не выполняется ни одна. Успешно завершенные транзакции фиксируются, в случае неудачного завершения происходит откат всей транзакции.

Согласованность–если происходит сбой, то система возвращается в состояние до начала неудавшейся транзакции. Если транзакция завершается успешно, то проверка согласованности проверяет успешное завершение всех операций транзакции.

Изолированность–во время выполнения транзакции все объекты-сущности, участвующие в ней, должны быть синхронизированы.

Долговечность–все изменения, произведенные с данными во время транзакции, записываются в базу данных. Это позволяет восстанавливать систему.