{"id":457944,"date":"2025-04-29T09:23:21","date_gmt":"2025-04-29T09:23:21","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=457944"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=457944","title":{"rendered":"<span>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 Firebird 5 \u0438 PostgreSQL 17<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430: \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a, \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.<\/h3>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0432\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Firebird \u0438 PostgreSQL \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 UTF8.<\/p>\n<p>\u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<ul>\n<li>\n<p>boolean<\/p>\n<\/li>\n<li>\n<p>char<\/p>\n<\/li>\n<li>\n<p>varchar<\/p>\n<\/li>\n<li>\n<p>date<\/p>\n<\/li>\n<li>\n<p>integer<\/p>\n<\/li>\n<li>\n<p>numeric<\/p>\n<\/li>\n<li>\n<p>float<\/p>\n<\/li>\n<li>\n<p>time<\/p>\n<\/li>\n<li>\n<p>time with timezone<\/p>\n<\/li>\n<li>\n<p>timestamp<\/p>\n<\/li>\n<li>\n<p>timestamp with timezone<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f char \u0438 varcher \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0434\u043b\u0438\u043d\u0443 50 \u0438 200 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, numeric \u0434\u043b\u0438\u043d\u0443 15 \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c 10. \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0448\u0438\u0440\u0438\u043d\u043e\u0439 12 \u043f\u043e\u043b\u0435\u0439 + \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 integer.<\/p>\n<h4>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u043c\u0438:<\/h4>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 boolean<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_BOOL_12 (     ID         INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_BOOL_1   BOOLEAN,     T_BOOL_2   BOOLEAN,     T_BOOL_3   BOOLEAN,     T_BOOL_4   BOOLEAN,     T_BOOL_5   BOOLEAN,     T_BOOL_6   BOOLEAN,     T_BOOL_7   BOOLEAN,     T_BOOL_8   BOOLEAN,     T_BOOL_9   BOOLEAN,     T_BOOL_10  BOOLEAN,     T_BOOL_11  BOOLEAN,     T_BOOL_12  BOOLEAN );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_BOOL_12 (T_BOOL_1, T_BOOL_2, T_BOOL_3, T_BOOL_4, T_BOOL_5, T_BOOL_6, T_BOOL_7, T_BOOL_8, T_BOOL_9, T_BOOL_10, T_BOOL_11, T_BOOL_12) VALUES (TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE); INSERT INTO T_BOOL_12 (T_BOOL_1, T_BOOL_2, T_BOOL_3, T_BOOL_4, T_BOOL_5, T_BOOL_6, T_BOOL_7, T_BOOL_8, T_BOOL_9, T_BOOL_10, T_BOOL_11, T_BOOL_12) VALUES (FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 char(200)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_CHAR_12_200 (     ID       INTEGER GENERATED BY DEFAULT AS IDENTITY,     CHAR_1   CHAR(200),     CHAR_2   CHAR(200),     CHAR_3   CHAR(200),     CHAR_4   CHAR(200),     CHAR_5   CHAR(200),     CHAR_6   CHAR(200),     CHAR_7   CHAR(200),     CHAR_8   CHAR(200),     CHAR_9   CHAR(200),     CHAR_10  CHAR(200),     CHAR_11  CHAR(200),     CHAR_12  CHAR(200) );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a (\u0437\u0430\u043f\u0440\u043e\u0441 \u0443\u043a\u043e\u0440\u043e\u0447\u0435\u043d)<\/p>\n<pre><code class=\"sql\">INSERT INTO T_CHAR_12_200 (CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, CHAR_7, CHAR_8, CHAR_9, CHAR_10, CHAR_11, CHAR_12) VALUES ('C++ is a horrible language.It''s made more horrible by the fact that a lot of substandard programmers use it,to the point where it''s much much easier to generate total and utter crap with it.Torvalds.',...);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 char(50)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_CHAR_12_50 (     ID       INTEGER GENERATED BY DEFAULT AS IDENTITY,     CHAR_1   CHAR(50),     CHAR_2   CHAR(50),     CHAR_3   CHAR(50),     CHAR_4   CHAR(50),     CHAR_5   CHAR(50),     CHAR_6   CHAR(50),     CHAR_7   CHAR(50),     CHAR_8   CHAR(50),     CHAR_9   CHAR(50),     CHAR_10  CHAR(50),     CHAR_11  CHAR(50),     CHAR_12  CHAR(50) );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a (\u0437\u0430\u043f\u0440\u043e\u0441 \u0443\u043a\u043e\u0440\u043e\u0447\u0435\u043d)<\/p>\n<pre><code class=\"sql\">INSERT INTO T_CHAR_12_50 (CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, CHAR_7, CHAR_8, CHAR_9, CHAR_10, CHAR_11, CHAR_12) VALUES ( 'Talk is cheap . Show me the code. Linus Torvalds.', ...);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 date<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_DATE_12 (     ID         INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_DATE_1   DATE,     T_DATE_2   DATE,     T_DATE_3   DATE,     T_DATE_4   DATE,     T_DATE_5   DATE,     T_DATE_6   DATE,     T_DATE_7   DATE,     T_DATE_8   DATE,     T_DATE_9   DATE,     T_DATE_10  DATE,     T_DATE_11  DATE,     T_DATE_12  DATE );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_DATE_12 (IT_DATE_1, T_DATE_2, T_DATE_3, T_DATE_4, T_DATE_5, T_DATE_6, T_DATE_7, T_DATE_8, T_DATE_9, T_DATE_10, T_DATE_11, T_DATE_12) VALUES ('1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 integer<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_INT12 (     ID      INTEGER GENERATED BY DEFAULT AS IDENTITY,     INT_1   INTEGER,     INT_2   INTEGER,     INT_3   INTEGER,     INT_4   INTEGER,     INT_5   INTEGER,     INT_6   INTEGER,     INT_7   INTEGER,     INT_8   INTEGER,     INT_9   INTEGER,     INT_10  INTEGER,     INT_11  INTEGER,     INT_12  INTEGER );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_INT12 (INT_1, INT_2, INT_3, INT_4, INT_5, INT_6, INT_7, INT_8, INT_9, INT_10, INT_11, INT_12) VALUES (314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 numeric<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_NUM_12 (     ID        INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_NUM_1   NUMERIC(15,10),     T_NUM_2   NUMERIC(15,10),     T_NUM_3   NUMERIC(15,10),     T_NUM_4   NUMERIC(15,10),     T_NUM_5   NUMERIC(15,10),     T_NUM_6   NUMERIC(15,10),     T_NUM_7   NUMERIC(15,10),     T_NUM_8   NUMERIC(15,10),     T_NUM_9   NUMERIC(15,10),     T_NUM_10  NUMERIC(15,10),     T_NUM_11  NUMERIC(15,10),     T_NUM_12  NUMERIC(15,10) );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_NUM_12 (T_NUM_1, T_NUM_2, T_NUM_3, T_NUM_4, T_NUM_5, T_NUM_6, T_NUM_7, T_NUM_8, T_NUM_9, T_NUM_10, T_NUM_11, T_NUM_12) VALUES (3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 real (float)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_REAL_12 (     ID         INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_REAL_1   FLOAT,     T_REAL_2   FLOAT,     T_REAL_3   FLOAT,     T_REAL_4   FLOAT,     T_REAL_5   FLOAT,     T_REAL_6   FLOAT,     T_REAL_7   FLOAT,     T_REAL_8   FLOAT,     T_REAL_9   FLOAT,     T_REAL_10  FLOAT,     T_REAL_11  FLOAT,     T_REAL_12  FLOAT );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_REAL_12 (T_REAL_1, T_REAL_2, T_REAL_3, T_REAL_4, T_REAL_5, T_REAL_6, T_REAL_7, T_REAL_8, T_REAL_9, T_REAL_10, T_REAL_11, T_REAL_12) VALUES (3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 time<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_TIME_12 (     ID         INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_TIME_1   TIME,     T_TIME_2   TIME,     T_TIME_3   TIME,     T_TIME_4   TIME,     T_TIME_5   TIME,     T_TIME_6   TIME,     T_TIME_7   TIME,     T_TIME_8   TIME,     T_TIME_9   TIME,     T_TIME_10  TIME,     T_TIME_11  TIME,     T_TIME_12  TIME );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_TIME_12 (ID, T_TIME_1, T_TIME_2, T_TIME_3, T_TIME_4, T_TIME_5, T_TIME_6, T_TIME_7, T_TIME_8, T_TIME_9, T_TIME_10, T_TIME_11, T_TIME_12) VALUES (1, '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 time with time zone<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_TIME_WTZ_12 (     ID             INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_TIME_WTZ_1   TIME WITH TIME ZONE,     T_TIME_WTZ_2   TIME WITH TIME ZONE,     T_TIME_WTZ_3   TIME WITH TIME ZONE,     T_TIME_WTZ_4   TIME WITH TIME ZONE,     T_TIME_WTZ_5   TIME WITH TIME ZONE,     T_TIME_WTZ_6   TIME WITH TIME ZONE,     T_TIME_WTZ_7   TIME WITH TIME ZONE,     T_TIME_WTZ_8   TIME WITH TIME ZONE,     T_TIME_WTZ_9   TIME WITH TIME ZONE,     T_TIME_WTZ_10  TIME WITH TIME ZONE,     T_TIME_WTZ_11  TIME WITH TIME ZONE,     T_TIME_WTZ_12  TIME WITH TIME ZONE );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_TIME_WTZ_12 (T_TIME_WTZ_1, T_TIME_WTZ_2, T_TIME_WTZ_3, T_TIME_WTZ_4, T_TIME_WTZ_5, T_TIME_WTZ_6, T_TIME_WTZ_7, T_TIME_WTZ_8, T_TIME_WTZ_9, T_TIME_WTZ_10, T_TIME_WTZ_11, T_TIME_WTZ_12) VALUES ('5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 timestamp<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_TSTAMP_12 (     ID           INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_TSTAMP_1   TIMESTAMP,     T_TSTAMP_2   TIMESTAMP,     T_TSTAMP_3   TIMESTAMP,     T_TSTAMP_4   TIMESTAMP,     T_TSTAMP_5   TIMESTAMP,     T_TSTAMP_6   TIMESTAMP,     T_TSTAMP_7   TIMESTAMP,     T_TSTAMP_8   TIMESTAMP,     T_TSTAMP_9   TIMESTAMP,     T_TSTAMP_10  TIMESTAMP,     T_TSTAMP_11  TIMESTAMP,     T_TSTAMP_12  TIMESTAMP );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_TSTAMP_12 (T_TSTAMP_1, T_TSTAMP_2, T_TSTAMP_3, T_TSTAMP_4, T_TSTAMP_5, T_TSTAMP_6, T_TSTAMP_7, T_TSTAMP_8, T_TSTAMP_9, T_TSTAMP_10, T_TSTAMP_11, T_TSTAMP_12) VALUES ('1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 timestamp with time zone<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_TSTAMP_WTZ_12 (     ID               INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_TSTAMP_WTZ_1   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_2   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_3   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_4   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_5   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_6   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_7   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_8   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_9   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_10  TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_11  TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_12  TIMESTAMP WITH TIME ZONE );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_TSTAMP_WTZ_12 (T_TSTAMP_WTZ_1, T_TSTAMP_WTZ_2, T_TSTAMP_WTZ_3, T_TSTAMP_WTZ_4, T_TSTAMP_WTZ_5, T_TSTAMP_WTZ_6, T_TSTAMP_WTZ_7, T_TSTAMP_WTZ_8, T_TSTAMP_WTZ_9, T_TSTAMP_WTZ_10, T_TSTAMP_WTZ_11, T_TSTAMP_WTZ_12) VALUES ('1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 varcher(200)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_VARCHAR_12_200 (     ID          INTEGER GENERATED BY DEFAULT AS IDENTITY,     VARCHAR_1   VARCHAR(200),     VARCHAR_2   VARCHAR(200),     VARCHAR_3   VARCHAR(200),     VARCHAR_4   VARCHAR(200),     VARCHAR_5   VARCHAR(200),     VARCHAR_6   VARCHAR(200),     VARCHAR_7   VARCHAR(200),     VARCHAR_8   VARCHAR(200),     VARCHAR_9   VARCHAR(200),     VARCHAR_10  VARCHAR(200),     VARCHAR_11  VARCHAR(200),     VARCHAR_12  VARCHAR(200) );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a (\u0437\u0430\u043f\u0440\u043e\u0441 \u0443\u043a\u043e\u0440\u043e\u0447\u0435\u043d)<\/p>\n<pre><code class=\"sql\">INSERT INTO T_VARCHAR_12_200 (ID, VARCHAR_1, VARCHAR_2, VARCHAR_3, VARCHAR_4, VARCHAR_5, VARCHAR_6, VARCHAR_7, VARCHAR_8, VARCHAR_9, VARCHAR_10, VARCHAR_11, VARCHAR_12) VALUES (1, 'C++ is a horrible language.It''s made more horrible by the fact that a lot of substandard programmers use it,to the point where it''s much much easier to generate total and utter crap with it.Torvalds. ', ...');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 varchar(50)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_VARCHAR_12_50 (     ID          INTEGER GENERATED BY DEFAULT AS IDENTITY,     VARCHAR_1   VARCHAR(50),     VARCHAR_2   VARCHAR(50),     VARCHAR_3   VARCHAR(50),     VARCHAR_4   VARCHAR(50),     VARCHAR_5   VARCHAR(50),     VARCHAR_6   VARCHAR(50),     VARCHAR_7   VARCHAR(50),     VARCHAR_8   VARCHAR(50),     VARCHAR_9   VARCHAR(50),     VARCHAR_10  VARCHAR(50),     VARCHAR_11  VARCHAR(50),     VARCHAR_12  VARCHAR(50) );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_VARCHAR_12_50 (ID, VARCHAR_1, VARCHAR_2, VARCHAR_3, VARCHAR_4, VARCHAR_5, VARCHAR_6, VARCHAR_7, VARCHAR_8, VARCHAR_9, VARCHAR_10, VARCHAR_11, VARCHAR_12) VALUES (1, 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ', 'Talk is cheap . Show me the code. Linus Torvalds. ');<\/code><\/pre>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0432\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0421\u0440\u0430\u0432\u043d\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Firebird \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 isql, \u0434\u043b\u044f PostgreSQL \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 psql.<\/p>\n<h4>\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Firebird:<\/h4>\n<pre><code>Database: 'localhost:c:\\DBASE\\FB5\\ETL3.FDB', User: SYSDBA SQL&gt; select (MON$PAGE_SIZE * MON$PAGES)\/1048576 from MON$DATABASE; DIVIDE ============================================= 7863<\/code><\/pre>\n<h4>\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL:<\/h4>\n<h3>\u0421\u043f\u0438\u0441\u043e\u043a \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0418\u043c\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0412\u043b\u0430\u0434\u0435\u043b\u0435\u0446<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u043b\u043e\u043a\u0430\u043b\u0438<\/p>\n<\/th>\n<th>\n<p align=\"left\">LC_COLLATE<\/p>\n<\/th>\n<th data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">LC_CTYPE<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0420\u0430\u0437\u043c\u0435\u0440<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">ETL3<\/p>\n<\/td>\n<td>\n<p align=\"left\">postgres<\/p>\n<\/td>\n<td>\n<p align=\"left\">UTF8<\/p>\n<\/td>\n<td>\n<p align=\"left\">libc<\/p>\n<\/td>\n<td>\n<p align=\"left\">C<\/p>\n<\/td>\n<td data-colwidth=\"103\" width=\"103\">\n<p align=\"left\">C<\/p>\n<\/td>\n<td>\n<p align=\"left\">7864 MB<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u043e \u0440\u0430\u0437\u043d\u044b\u043c \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Firebird \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 gstat, \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b PostgreSQL \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 psql. \u0414\u0430\u043d\u043d\u044b\u0435 \u0441\u0432\u0435\u0434\u0435\u043c \u0432 \u0435\u0434\u0438\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443:<\/p>\n<h4>\u0420\u0430\u0437\u043c\u0435\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0422\u0430\u0431\u043b\u0438\u0446\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">PostgreSQL (MB)<\/p>\n<\/th>\n<th>\n<p align=\"left\">Firebird (MB)<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_bool_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">42<\/p>\n<\/td>\n<td>\n<p align=\"left\">53.63<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_char_12_200<\/p>\n<\/td>\n<td>\n<p align=\"left\">2728<\/p>\n<\/td>\n<td>\n<p align=\"left\">2604.25<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_char_12_50<\/p>\n<\/td>\n<td>\n<p align=\"left\">651<\/p>\n<\/td>\n<td>\n<p align=\"left\">679.38<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_date_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">81<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.63<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_int12<\/p>\n<\/td>\n<td>\n<p align=\"left\">81<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.63<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_num_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">159<\/p>\n<\/td>\n<td>\n<p align=\"left\">146.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_real_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">128<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.63<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_time_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">128<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.63<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_time_wtz_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">223<\/p>\n<\/td>\n<td>\n<p align=\"left\">146.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_tstamp_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">128<\/p>\n<\/td>\n<td>\n<p align=\"left\">146.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_tstamp_wtz_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">128<\/p>\n<\/td>\n<td>\n<p align=\"left\">233.25<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_varchar_12_200<\/p>\n<\/td>\n<td>\n<p align=\"left\">2728<\/p>\n<\/td>\n<td>\n<p align=\"left\">2604.25<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_varchar_12_50<\/p>\n<\/td>\n<td>\n<p align=\"left\">651<\/p>\n<\/td>\n<td>\n<p align=\"left\">710.25<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b PostgreSQL, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0442\u0438\u043f\u0430\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 \u043c\u0435\u0441\u0442\u0430, \u0430 Firebird \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0438 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0442\u0438\u043f\u044b.<\/p>\n<h3>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 Firebird 5 \u0438 PostgreSQL 17 \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f 25% \u0438 50% \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446<\/h3>\n<p>\u0417\u0430\u0434\u0430\u0447\u0430: \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438, \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0445 25% \u0438 50% \u0441\u0442\u0440\u043e\u043a. \u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u043c \u0434\u0432\u0430 \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u0414\u043b\u044f Firebird: \u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 7863 MB \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438:<\/p>\n<pre><code class=\"sql\">update T_VARCHAR_12_200 set      VARCHAR_1 = reverse(VARCHAR_1),VARCHAR_2 = reverse(VARCHAR_2),VARCHAR_3 = reverse(VARCHAR_3),     VARCHAR_4 = reverse(VARCHAR_4),VARCHAR_5 = reverse(VARCHAR_5),VARCHAR_6 = reverse(VARCHAR_6),     VARCHAR_7 = reverse(VARCHAR_7),VARCHAR_8 = reverse(VARCHAR_8),VARCHAR_9 = reverse(VARCHAR_9),     VARCHAR_10 = reverse(VARCHAR_10),VARCHAR_11 = reverse(VARCHAR_11),VARCHAR_12 = reverse(VARCHAR_12) where ID &lt; 250001;  update T_VARCHAR_12_50 set      VARCHAR_1 = reverse(VARCHAR_1),VARCHAR_2 = reverse(VARCHAR_2),VARCHAR_3 = reverse(VARCHAR_3),     VARCHAR_4 = reverse(VARCHAR_4),VARCHAR_5 = reverse(VARCHAR_5),VARCHAR_6 = reverse(VARCHAR_6),     VARCHAR_7 = reverse(VARCHAR_7),VARCHAR_8 = reverse(VARCHAR_8),VARCHAR_9 = reverse(VARCHAR_9),     VARCHAR_10 = reverse(VARCHAR_10),VARCHAR_11 = reverse(VARCHAR_11),VARCHAR_12 = reverse(VARCHAR_12) where ID &lt; 250001;  update T_CHAR_12_200 set      CHAR_1 = reverse(CHAR_1),CHAR_2 = reverse(CHAR_2),CHAR_3 = reverse(CHAR_3),     CHAR_4 = reverse(CHAR_4),CHAR_5 = reverse(CHAR_5),CHAR_6 = reverse(CHAR_6),     CHAR_7 = reverse(CHAR_7),CHAR_8 = reverse(CHAR_8),CHAR_9 = reverse(CHAR_9),     CHAR_10 = reverse(CHAR_10),CHAR_11 = reverse(CHAR_11),CHAR_12 = reverse(CHAR_12) where ID &lt; 250001;  update T_CHAR_12_50 set      CHAR_1 = reverse(CHAR_1),CHAR_2 = reverse(CHAR_2),CHAR_3 = reverse(CHAR_3),     CHAR_4 = reverse(CHAR_4),CHAR_5 = reverse(CHAR_5),CHAR_6 = reverse(CHAR_6),     CHAR_7 = reverse(CHAR_7),CHAR_8 = reverse(CHAR_8),CHAR_9 = reverse(CHAR_9),     CHAR_10 = reverse(CHAR_10),CHAR_11 = reverse(CHAR_11),CHAR_12 = reverse(CHAR_12) where ID &lt; 250001;  update T_INT12 set     INT_1 = (INT_1-1000),INT_2 = INT_2-1000,INT_3 = INT_3-1000,INT_4 = INT_4-1000,     INT_5 = INT_5-1000,INT_6 = INT_6-1000,INT_7 = INT_7-1000,INT_8 = INT_8-1000,     INT_9 = INT_9-1000,INT_10 = INT_10-1000,INT_11 = INT_11-1000,INT_12 = INT_12-1000 where ID &lt; 250001;  update T_DATE_12 set     T_DATE_1 = DATEADD(365 day to T_DATE_1),T_DATE_2 = DATEADD(365 day to T_DATE_2),T_DATE_3 = DATEADD(365 day to T_DATE_3),     T_DATE_4 = DATEADD(365 day to T_DATE_4),T_DATE_5 = DATEADD(365 day to T_DATE_5),T_DATE_6 = DATEADD(365 day to T_DATE_6),     T_DATE_7 = DATEADD(365 day to T_DATE_7),T_DATE_8 = DATEADD(365 day to T_DATE_8),T_DATE_9 = DATEADD(365 day to T_DATE_9),     T_DATE_10 = DATEADD(365 day to T_DATE_10),T_DATE_11 = DATEADD(365 day to T_DATE_11),T_DATE_12 = DATEADD(365 day to T_DATE_12) where ID &lt; 250001;  update T_BOOL_12 set     T_BOOL_1 = T_BOOL_2,T_BOOL_2 = T_BOOL_1,T_BOOL_3 = T_BOOL_2,T_BOOL_4 = T_BOOL_1,T_BOOL_5 = T_BOOL_2,T_BOOL_6 = T_BOOL_1,     T_BOOL_7 = T_BOOL_2,T_BOOL_8 = T_BOOL_1,T_BOOL_9 = T_BOOL_2,T_BOOL_10 = T_BOOL_1,T_BOOL_11 = T_BOOL_2,T_BOOL_12 = T_BOOL_1 where ID &lt; 250001;  update T_REAL_12 set     T_REAL_1 = T_REAL_1 - 10000,T_REAL_2 = T_REAL_2 - 10000,T_REAL_3 = T_REAL_2 - 10000,T_REAL_4 = T_REAL_4 - 10000,     T_REAL_5 = T_REAL_5 - 10000,T_REAL_6 = T_REAL_6 - 10000,T_REAL_7 = T_REAL_7 - 10000,T_REAL_8 = T_REAL_8 - 10000,     T_REAL_9 = T_REAL_9 - 10000,T_REAL_10 = T_REAL_10 - 10000,T_REAL_11 = T_REAL_11 - 10000,T_REAL_12 = T_REAL_12 - 10000 where ID &lt; 250001;  update T_NUM_12 set     T_NUM_1 = T_NUM_1 - 10000,T_NUM_2 = T_NUM_2 - 10000,T_NUM_3 = T_NUM_2 - 10000,T_NUM_4 = T_NUM_4 - 10000,     T_NUM_5 = T_NUM_5 - 10000,T_NUM_6 = T_NUM_6 - 10000,T_NUM_7 = T_NUM_7 - 10000,T_NUM_8 = T_NUM_8 - 10000,     T_NUM_9 = T_NUM_9 - 10000,T_NUM_10 = T_NUM_10 - 10000,T_NUM_11 = T_NUM_11 - 10000,T_NUM_12 = T_NUM_12 - 10000 where ID &lt; 250001;  update T_TIME_12 set    T_TIME_1 = DATEADD(minute,60, T_TIME_1),T_TIME_2 = DATEADD(minute,60, T_TIME_2),T_TIME_3 = DATEADD(minute,60, T_TIME_3),    T_TIME_4 = DATEADD(minute,60, T_TIME_4),T_TIME_5 = DATEADD(minute,60, T_TIME_5),T_TIME_6 = DATEADD(minute,60, T_TIME_6),    T_TIME_7 = DATEADD(minute,60, T_TIME_7),T_TIME_8 = DATEADD(minute,60, T_TIME_8),T_TIME_9 = DATEADD(minute,60, T_TIME_9),    T_TIME_10 = DATEADD(minute,60, T_TIME_10),T_TIME_11 = DATEADD(minute,60, T_TIME_11),T_TIME_12 = DATEADD(minute,60, T_TIME_12) where ID &lt; 250001;  update T_TIME_WTZ_12 set     T_TIME_WTZ_1 = DATEADD(minute,60, T_TIME_WTZ_1),T_TIME_WTZ_2 = DATEADD(minute,60, T_TIME_WTZ_2),T_TIME_WTZ_3 = DATEADD(minute,60, T_TIME_WTZ_3),     T_TIME_WTZ_4 = DATEADD(minute,60, T_TIME_WTZ_4),T_TIME_WTZ_5 = DATEADD(minute,60, T_TIME_WTZ_5),T_TIME_WTZ_6 = DATEADD(minute,60, T_TIME_WTZ_6),     T_TIME_WTZ_7 = DATEADD(minute,60, T_TIME_WTZ_7),T_TIME_WTZ_8 = DATEADD(minute,60, T_TIME_WTZ_8),T_TIME_WTZ_9 = DATEADD(minute,60, T_TIME_WTZ_9),     T_TIME_WTZ_10 = DATEADD(minute,60, T_TIME_WTZ_10),T_TIME_WTZ_11 = DATEADD(minute,60, T_TIME_WTZ_11),T_TIME_WTZ_12 = DATEADD(minute,60, T_TIME_WTZ_12) where ID &lt; 250001;  update T_TSTAMP_12 set     T_TSTAMP_1 = DATEADD(minute,60, T_TSTAMP_1),T_TSTAMP_2 = DATEADD(minute,60, T_TSTAMP_2),T_TSTAMP_3 = DATEADD(minute,60, T_TSTAMP_3),     T_TSTAMP_4 = DATEADD(minute,60, T_TSTAMP_4),T_TSTAMP_5 = DATEADD(minute,60, T_TSTAMP_5),T_TSTAMP_6 = DATEADD(minute,60, T_TSTAMP_6),     T_TSTAMP_7 = DATEADD(minute,60, T_TSTAMP_7),T_TSTAMP_8 = DATEADD(minute,60, T_TSTAMP_8),T_TSTAMP_9 = DATEADD(minute,60, T_TSTAMP_9),     T_TSTAMP_10 = DATEADD(minute,60, T_TSTAMP_10),T_TSTAMP_11 = DATEADD(minute,60, T_TSTAMP_11),T_TSTAMP_12 = DATEADD(minute,60, T_TSTAMP_12) where ID &lt; 250001;  update T_TSTAMP_WTZ_12 set     T_TSTAMP_WTZ_1 = DATEADD(minute,60, T_TSTAMP_WTZ_1),T_TSTAMP_WTZ_2 = DATEADD(minute,60, T_TSTAMP_WTZ_2),T_TSTAMP_WTZ_3 = DATEADD(minute,60, T_TSTAMP_WTZ_3),     T_TSTAMP_WTZ_4 = DATEADD(minute,60, T_TSTAMP_WTZ_4),T_TSTAMP_WTZ_5 = DATEADD(minute,60, T_TSTAMP_WTZ_5),T_TSTAMP_WTZ_6 = DATEADD(minute,60, T_TSTAMP_WTZ_6),     T_TSTAMP_WTZ_7 = DATEADD(minute,60, T_TSTAMP_WTZ_7),T_TSTAMP_WTZ_8 = DATEADD(minute,60, T_TSTAMP_WTZ_8),T_TSTAMP_WTZ_9 = DATEADD(minute,60, T_TSTAMP_WTZ_9),     T_TSTAMP_WTZ_10 = DATEADD(minute,60, T_TSTAMP_WTZ_10),T_TSTAMP_WTZ_11 = DATEADD(minute,60, T_TSTAMP_WTZ_11),T_TSTAMP_WTZ_12 = DATEADD(minute,60, T_TSTAMP_WTZ_12) where ID &lt; 250001;  commit;<\/code><\/pre>\n<p>\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Firebird \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f 25% \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 8504 MB<\/p>\n<p>\u0414\u043b\u044f PostgreSQL: \u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 7863 MB \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438:<\/p>\n<pre><code class=\"sql\">update T_VARCHAR_12_200 set      VARCHAR_1 = reverse(VARCHAR_1),VARCHAR_2 = reverse(VARCHAR_2),VARCHAR_3 = reverse(VARCHAR_3),     VARCHAR_4 = reverse(VARCHAR_4),VARCHAR_5 = reverse(VARCHAR_5),VARCHAR_6 = reverse(VARCHAR_6),     VARCHAR_7 = reverse(VARCHAR_7),VARCHAR_8 = reverse(VARCHAR_8),VARCHAR_9 = reverse(VARCHAR_9),     VARCHAR_10 = reverse(VARCHAR_10),VARCHAR_11 = reverse(VARCHAR_11),VARCHAR_12 = reverse(VARCHAR_12) where ID &lt; 250001;  update T_VARCHAR_12_50 set VARCHAR_1 = reverse(VARCHAR_1),VARCHAR_2 = reverse(VARCHAR_2),VARCHAR_3 = reverse(VARCHAR_3),     VARCHAR_4 = reverse(VARCHAR_4),VARCHAR_5 = reverse(VARCHAR_5),VARCHAR_6 = reverse(VARCHAR_6),     VARCHAR_7 = reverse(VARCHAR_7),VARCHAR_8 = reverse(VARCHAR_8),VARCHAR_9 = reverse(VARCHAR_9),     VARCHAR_10 = reverse(VARCHAR_10),VARCHAR_11 = reverse(VARCHAR_11),VARCHAR_12 = reverse(VARCHAR_12) where ID &lt; 250001;  update T_CHAR_12_200 set      CHAR_1 = reverse(CHAR_1),CHAR_2 = reverse(CHAR_2),CHAR_3 = reverse(CHAR_3),     CHAR_4 = reverse(CHAR_4),CHAR_5 = reverse(CHAR_5),CHAR_6 = reverse(CHAR_6),     CHAR_7 = reverse(CHAR_7),CHAR_8 = reverse(CHAR_8),CHAR_9 = reverse(CHAR_9),     CHAR_10 = reverse(CHAR_10),CHAR_11 = reverse(CHAR_11),CHAR_12 = reverse(CHAR_12) where ID &lt; 250001;  update T_CHAR_12_50 set     CHAR_1 = reverse(CHAR_1),CHAR_2 = reverse(CHAR_2),CHAR_3 = reverse(CHAR_3),     CHAR_4 = reverse(CHAR_4),CHAR_5 = reverse(CHAR_5),CHAR_6 = reverse(CHAR_6),     CHAR_7 = reverse(CHAR_7),CHAR_8 = reverse(CHAR_8),CHAR_9 = reverse(CHAR_9),     CHAR_10 = reverse(CHAR_10),CHAR_11 = reverse(CHAR_11),CHAR_12 = reverse(CHAR_12) where ID &lt; 250001;  update T_INT12 set     INT_1 = (INT_1-1000),INT_2 = INT_2-1000,INT_3 = INT_3-1000,INT_4 = INT_4-1000,     INT_5 = INT_5-1000,INT_6 = INT_6-1000,INT_7 = INT_7-1000,INT_8 = INT_8-1000,     INT_9 = INT_9-1000,INT_10 = INT_10-1000,INT_11 = INT_11-1000,INT_12 = INT_12-1000 where ID &lt; 250001;  update T_DATE_12 set     T_DATE_1 = T_DATE_1 + INTERVAL '365 day',T_DATE_2 = T_DATE_2 + INTERVAL '365 day',T_DATE_3 = T_DATE_3 + INTERVAL '365 day',     T_DATE_4 = T_DATE_4 + INTERVAL '365 day',T_DATE_5 = T_DATE_5 + INTERVAL '365 day',T_DATE_6 = T_DATE_6 + INTERVAL '365 day',     T_DATE_7 = T_DATE_7 + INTERVAL '365 day',T_DATE_8 = T_DATE_8 + INTERVAL '365 day',T_DATE_9 = T_DATE_9 + INTERVAL '365 day',     T_DATE_10 = T_DATE_10 + INTERVAL '365 day',T_DATE_11 = T_DATE_11 + INTERVAL '365 day',T_DATE_12 = T_DATE_12 + INTERVAL '365 day' where ID &lt; 250001;  update T_BOOL_12 set     T_BOOL_1 = T_BOOL_2,T_BOOL_2 = T_BOOL_1,T_BOOL_3 = T_BOOL_2,T_BOOL_4 = T_BOOL_1,     T_BOOL_5 = T_BOOL_2,T_BOOL_6 = T_BOOL_1,T_BOOL_7 = T_BOOL_2,T_BOOL_8 = T_BOOL_1,     T_BOOL_9 = T_BOOL_2,T_BOOL_10 = T_BOOL_1,T_BOOL_11 = T_BOOL_2,T_BOOL_12 = T_BOOL_1 where ID &lt; 250001;  update T_REAL_12 set     T_REAL_1 = T_REAL_1 - 10000,T_REAL_2 = T_REAL_2 - 10000,T_REAL_3 = T_REAL_2 - 10000,T_REAL_4 = T_REAL_4 - 10000,     T_REAL_5 = T_REAL_5 - 10000,T_REAL_6 = T_REAL_6 - 10000,T_REAL_7 = T_REAL_7 - 10000,T_REAL_8 = T_REAL_8 - 10000,     T_REAL_9 = T_REAL_9 - 10000,T_REAL_10 = T_REAL_10 - 10000,T_REAL_11 = T_REAL_11 - 10000,T_REAL_12 = T_REAL_12 - 10000 where ID &lt; 250001;  update T_NUM_12 set     T_NUM_1 = T_NUM_1 - 10000,T_NUM_2 = T_NUM_2 - 10000,T_NUM_3 = T_NUM_2 - 10000,T_NUM_4 = T_NUM_4 - 10000,     T_NUM_5 = T_NUM_5 - 10000,T_NUM_6 = T_NUM_6 - 10000,T_NUM_7 = T_NUM_7 - 10000,T_NUM_8 = T_NUM_8 - 10000,     T_NUM_9 = T_NUM_9 - 10000,T_NUM_10 = T_NUM_10 - 10000,T_NUM_11 = T_NUM_11 - 10000,T_NUM_12 = T_NUM_12 - 10000 where ID &lt; 250001;  update T_TIME_12 set     T_TIME_1 = T_TIME_1 + INTERVAL '60 hour',T_TIME_2 = T_TIME_2 + INTERVAL '60 hour',     T_TIME_3 = T_TIME_3 + INTERVAL '60 hour',T_TIME_4 = T_TIME_4 + INTERVAL '60 hour',     T_TIME_5 = T_TIME_5 + INTERVAL '60 hour',T_TIME_6 = T_TIME_6 + INTERVAL '60 hour',     T_TIME_7 = T_TIME_7 + INTERVAL '60 hour',T_TIME_8 = T_TIME_8 + INTERVAL '60 hour',     T_TIME_9 = T_TIME_9 + INTERVAL '60 hour',T_TIME_10 = T_TIME_10 + INTERVAL '60 hour',     T_TIME_11 = T_TIME_11 + INTERVAL '60 hour',T_TIME_12 = T_TIME_12 + INTERVAL '60 hour' where ID &lt; 250001;  update T_TIME_WTZ_12 set     T_TIME_WTZ_1 = T_TIME_WTZ_1 + INTERVAL '60 hour',T_TIME_WTZ_2 = T_TIME_WTZ_2 + INTERVAL '60 hour',     T_TIME_WTZ_3 = T_TIME_WTZ_3 + INTERVAL '60 hour',T_TIME_WTZ_4 = T_TIME_WTZ_4 + INTERVAL '60 hour',     T_TIME_WTZ_5 = T_TIME_WTZ_5 + INTERVAL '60 hour',T_TIME_WTZ_6 = T_TIME_WTZ_6 + INTERVAL '60 hour',     T_TIME_WTZ_7 = T_TIME_WTZ_7 + INTERVAL '60 hour',T_TIME_WTZ_8 = T_TIME_WTZ_8 + INTERVAL '60 hour',     T_TIME_WTZ_9 = T_TIME_WTZ_9 + INTERVAL '60 hour',T_TIME_WTZ_10 = T_TIME_WTZ_10 + INTERVAL '60 hour',     T_TIME_WTZ_11 = T_TIME_WTZ_11 + INTERVAL '60 hour',T_TIME_WTZ_12 = T_TIME_WTZ_12 + INTERVAL '60 hour' where ID &lt; 250001;  update T_TSTAMP_12 set     T_TSTAMP_1 = T_TSTAMP_1 + INTERVAL '60 hour',T_TSTAMP_2 = T_TSTAMP_2 + INTERVAL '60 hour',     T_TSTAMP_3 = T_TSTAMP_3 + INTERVAL '60 hour',T_TSTAMP_4 = T_TSTAMP_4 + INTERVAL '60 hour',     T_TSTAMP_5 = T_TSTAMP_5 + INTERVAL '60 hour',T_TSTAMP_6 = T_TSTAMP_6 + INTERVAL '60 hour',     T_TSTAMP_7 = T_TSTAMP_7 + INTERVAL '60 hour',T_TSTAMP_8 = T_TSTAMP_8 + INTERVAL '60 hour',     T_TSTAMP_9 = T_TSTAMP_9 + INTERVAL '60 hour',T_TSTAMP_10 = T_TSTAMP_10 + INTERVAL '60 hour',     T_TSTAMP_11 = T_TSTAMP_11 + INTERVAL '60 hour',T_TSTAMP_12 = T_TSTAMP_12 + INTERVAL '60 hour' where ID &lt; 250001;  update T_TSTAMP_WTZ_12  set     T_TSTAMP_WTZ_1 =  T_TSTAMP_WTZ_1 + INTERVAL '60 hour',T_TSTAMP_WTZ_2 =  T_TSTAMP_WTZ_2 + INTERVAL '60 hour',     T_TSTAMP_WTZ_3 =  T_TSTAMP_WTZ_3 + INTERVAL '60 hour',T_TSTAMP_WTZ_4 =  T_TSTAMP_WTZ_4 + INTERVAL '60 hour',     T_TSTAMP_WTZ_5 =  T_TSTAMP_WTZ_5 + INTERVAL '60 hour',T_TSTAMP_WTZ_6 =  T_TSTAMP_WTZ_6 + INTERVAL '60 hour',     T_TSTAMP_WTZ_7 =  T_TSTAMP_WTZ_7 + INTERVAL '60 hour',T_TSTAMP_WTZ_8 =  T_TSTAMP_WTZ_8 + INTERVAL '60 hour',     T_TSTAMP_WTZ_9 =  T_TSTAMP_WTZ_9 + INTERVAL '60 hour',T_TSTAMP_WTZ_10 =  T_TSTAMP_WTZ_10 + INTERVAL '60 hour',     T_TSTAMP_WTZ_11 =  T_TSTAMP_WTZ_11 + INTERVAL '60 hour',T_TSTAMP_WTZ_12 =  T_TSTAMP_WTZ_12 + INTERVAL '60 hour' where ID &lt; 250001;<\/code><\/pre>\n<p>\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f 25% \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 9862 MB.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446 \u0438 \u0441\u0432\u0435\u0434\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443:<\/p>\n<h4>\u0420\u0430\u0437\u043c\u0435\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0422\u0430\u0431\u043b\u0438\u0446\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">PostgreSQL (MB)<\/p>\n<\/th>\n<th>\n<p align=\"left\">Firebird (MB)<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_bool_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">53 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">53.63 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_char_12_200<\/p>\n<\/td>\n<td>\n<p align=\"left\">3411 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">2604.25 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_char_12_50<\/p>\n<\/td>\n<td>\n<p align=\"left\">814 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">679.38 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_date_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">101 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.63 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_int12<\/p>\n<\/td>\n<td>\n<p align=\"left\">101 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.63 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_num_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">199 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">146.13 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_real_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">160 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.63 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_time_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">160 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">99.63 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_time_wtz_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">279 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">146.13 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_tstamp_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">160 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">146.13 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_tstamp_wtz_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">160 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">233.25 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_varchar_12_200<\/p>\n<\/td>\n<td>\n<p align=\"left\">3442 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">2604.25 MB<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_varchar_12_50<\/p>\n<\/td>\n<td>\n<p align=\"left\">814 MB<\/p>\n<\/td>\n<td>\n<p align=\"left\">710.25 MB<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0413\u0440\u0430\u0444\u0438\u043a<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cb2\/937\/386\/cb29373868332020520839c021af3fb1.png\" alt=\"100%\" width=\"661\" height=\"202\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/cb2\/937\/386\/cb29373868332020520839c021af3fb1.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cb2\/937\/386\/cb29373868332020520839c021af3fb1.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>100%<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0431\u043d\u043e\u0432\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437, \u0434\u043e 50% \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0442\u043e\u0447\u043d\u0435\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 25%)<\/p>\n<p>Firebird \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438:<\/p>\n<pre><code class=\"sql\">update T_VARCHAR_12_200 set      VARCHAR_1 = reverse(VARCHAR_1),VARCHAR_2 = reverse(VARCHAR_2),VARCHAR_3 = reverse(VARCHAR_3),     VARCHAR_4 = reverse(VARCHAR_4),VARCHAR_5 = reverse(VARCHAR_5),VARCHAR_6 = reverse(VARCHAR_6),     VARCHAR_7 = reverse(VARCHAR_7),VARCHAR_8 = reverse(VARCHAR_8),VARCHAR_9 = reverse(VARCHAR_9),     VARCHAR_10 = reverse(VARCHAR_10),VARCHAR_11 = reverse(VARCHAR_11),VARCHAR_12 = reverse(VARCHAR_12) where ID between 250001 and 500000;  update T_VARCHAR_12_50 set      VARCHAR_1 = reverse(VARCHAR_1),VARCHAR_2 = reverse(VARCHAR_2),VARCHAR_3 = reverse(VARCHAR_3),     VARCHAR_4 = reverse(VARCHAR_4),VARCHAR_5 = reverse(VARCHAR_5),VARCHAR_6 = reverse(VARCHAR_6),     VARCHAR_7 = reverse(VARCHAR_7),VARCHAR_8 = reverse(VARCHAR_8),VARCHAR_9 = reverse(VARCHAR_9),     VARCHAR_10 = reverse(VARCHAR_10),VARCHAR_11 = reverse(VARCHAR_11),VARCHAR_12 = reverse(VARCHAR_12) where ID between 250001 and 500000;  update T_CHAR_12_20 set      CHAR_1 = reverse(CHAR_1),CHAR_2 = reverse(CHAR_2),CHAR_3 = reverse(CHAR_3),     CHAR_4 = reverse(CHAR_4),CHAR_5 = reverse(CHAR_5),CHAR_6 = reverse(CHAR_6),     CHAR_7 = reverse(CHAR_7),CHAR_8 = reverse(CHAR_8),CHAR_9 = reverse(CHAR_9),     CHAR_10 = reverse(CHAR_10),CHAR_11 = reverse(CHAR_11),CHAR_12 = reverse(CHAR_12) where ID between 250001 and 500000;  update T_CHAR_12_50 set      CHAR_1 = reverse(CHAR_1),CHAR_2 = reverse(CHAR_2),CHAR_3 = reverse(CHAR_3),     CHAR_4 = reverse(CHAR_4),CHAR_5 = reverse(CHAR_5),CHAR_6 = reverse(CHAR_6),     CHAR_7 = reverse(CHAR_7),CHAR_8 = reverse(CHAR_8),CHAR_9 = reverse(CHAR_9),     CHAR_10 = reverse(CHAR_10),CHAR_11 = reverse(CHAR_11),CHAR_12 = reverse(CHAR_12) where ID between 250001 and 500000;  update T_INT12 set     INT_1 = (INT_1-1000),INT_2 = INT_2-1000,INT_3 = INT_3-1000,INT_4 = INT_4-1000,     INT_5 = INT_5-1000,INT_6 = INT_6-1000,INT_7 = INT_7-1000,INT_8 = INT_8-1000,     INT_9 = INT_9-1000,INT_10 = INT_10-1000,INT_11 = INT_11-1000,INT_12 = INT_12-1000 where ID between 250001 and 500000;  update T_DATE_12  set     T_DATE_1 = DATEADD(365 day to T_DATE_1),T_DATE_2 = DATEADD(365 day to T_DATE_2),T_DATE_3 = DATEADD(365 day to T_DATE_3),     T_DATE_4 = DATEADD(365 day to T_DATE_4),T_DATE_5 = DATEADD(365 day to T_DATE_5),T_DATE_6 = DATEADD(365 day to T_DATE_6),     T_DATE_7 = DATEADD(365 day to T_DATE_7),T_DATE_8 = DATEADD(365 day to T_DATE_8),T_DATE_9 = DATEADD(365 day to T_DATE_9),     T_DATE_10 = DATEADD(365 day to T_DATE_10),T_DATE_11 = DATEADD(365 day to T_DATE_11),T_DATE_12 = DATEADD(365 day to T_DATE_12) where ID between 250001 and 500000;  update T_BOOL_12 set     T_BOOL_1 = T_BOOL_2,T_BOOL_2 = T_BOOL_1,T_BOOL_3 = T_BOOL_2,T_BOOL_4 = T_BOOL_1,T_BOOL_5 = T_BOOL_2,T_BOOL_6 = T_BOOL_1,     T_BOOL_7 = T_BOOL_2,T_BOOL_8 = T_BOOL_1,T_BOOL_9 = T_BOOL_2,T_BOOL_10 = T_BOOL_1,T_BOOL_11 = T_BOOL_2,T_BOOL_12 = T_BOOL_1 where ID between 250001 and 500000;  update T_REAL_12 set     T_REAL_1 = T_REAL_1 - 10000,T_REAL_2 = T_REAL_2 - 10000,T_REAL_3 = T_REAL_2 - 10000,T_REAL_4 = T_REAL_4 - 10000,     T_REAL_5 = T_REAL_5 - 10000,T_REAL_6 = T_REAL_6 - 10000,T_REAL_7 = T_REAL_7 - 10000,T_REAL_8 = T_REAL_8 - 10000,     T_REAL_9 = T_REAL_9 - 10000,T_REAL_10 = T_REAL_10 - 10000,T_REAL_11 = T_REAL_11 - 10000,T_REAL_12 = T_REAL_12 - 10000 where ID between 250001 and 500000;  update T_NUM_12 set     T_NUM_1 = T_NUM_1 - 10000,T_NUM_2 = T_NUM_2 - 10000,T_NUM_3 = T_NUM_2 - 10000,T_NUM_4 = T_NUM_4 - 10000,     T_NUM_5 = T_NUM_5 - 10000,T_NUM_6 = T_NUM_6 - 10000,T_NUM_7 = T_NUM_7 - 10000,T_NUM_8 = T_NUM_8 - 10000,     T_NUM_9 = T_NUM_9 - 10000,T_NUM_10 = T_NUM_10 - 10000,T_NUM_11 = T_NUM_11 - 10000,T_NUM_12 = T_NUM_12 - 10000 where ID between 250001 and 500000;  update T_TIME_12 set    T_TIME_1 = DATEADD(minute,60, T_TIME_1),T_TIME_2 = DATEADD(minute,60, T_TIME_2),T_TIME_3 = DATEADD(minute,60, T_TIME_3),    T_TIME_4 = DATEADD(minute,60, T_TIME_4),T_TIME_5 = DATEADD(minute,60, T_TIME_5),T_TIME_6 = DATEADD(minute,60, T_TIME_6),    T_TIME_7 = DATEADD(minute,60, T_TIME_7),T_TIME_8 = DATEADD(minute,60, T_TIME_8),T_TIME_9 = DATEADD(minute,60, T_TIME_9),    T_TIME_10 = DATEADD(minute,60, T_TIME_10),T_TIME_11 = DATEADD(minute,60, T_TIME_11),T_TIME_12 = DATEADD(minute,60, T_TIME_12) where ID between 250001 and 500000;  update T_TIME_WTZ_12 set     T_TIME_WTZ_1 = DATEADD(minute,60, T_TIME_WTZ_1),T_TIME_WTZ_2 = DATEADD(minute,60, T_TIME_WTZ_2),T_TIME_WTZ_3 = DATEADD(minute,60, T_TIME_WTZ_3),     T_TIME_WTZ_4 = DATEADD(minute,60, T_TIME_WTZ_4),T_TIME_WTZ_5 = DATEADD(minute,60, T_TIME_WTZ_5),T_TIME_WTZ_6 = DATEADD(minute,60, T_TIME_WTZ_6),     T_TIME_WTZ_7 = DATEADD(minute,60, T_TIME_WTZ_7),T_TIME_WTZ_8 = DATEADD(minute,60, T_TIME_WTZ_8),T_TIME_WTZ_9 = DATEADD(minute,60, T_TIME_WTZ_9),     T_TIME_WTZ_10 = DATEADD(minute,60, T_TIME_WTZ_10),T_TIME_WTZ_11 = DATEADD(minute,60, T_TIME_WTZ_11),T_TIME_WTZ_12 = DATEADD(minute,60, T_TIME_WTZ_12) where ID between 250001 and 500000;  update T_TSTAMP_12 set     T_TSTAMP_1 = DATEADD(minute,60, T_TSTAMP_1),T_TSTAMP_2 = DATEADD(minute,60, T_TSTAMP_2),T_TSTAMP_3 = DATEADD(minute,60, T_TSTAMP_3),     T_TSTAMP_4 = DATEADD(minute,60, T_TSTAMP_4),T_TSTAMP_5 = DATEADD(minute,60, T_TSTAMP_5),T_TSTAMP_6 = DATEADD(minute,60, T_TSTAMP_6),     T_TSTAMP_7 = DATEADD(minute,60, T_TSTAMP_7),T_TSTAMP_8 = DATEADD(minute,60, T_TSTAMP_8),T_TSTAMP_9 = DATEADD(minute,60, T_TSTAMP_9),     T_TSTAMP_10 = DATEADD(minute,60, T_TSTAMP_10),T_TSTAMP_11 = DATEADD(minute,60, T_TSTAMP_11),T_TSTAMP_12 = DATEADD(minute,60, T_TSTAMP_12) where ID between 250001 and 500000;  update T_TSTAMP_WTZ_12 set     T_TSTAMP_WTZ_1 = DATEADD(minute,60, T_TSTAMP_WTZ_1),T_TSTAMP_WTZ_2 = DATEADD(minute,60, T_TSTAMP_WTZ_2),T_TSTAMP_WTZ_3 = DATEADD(minute,60, T_TSTAMP_WTZ_3),     T_TSTAMP_WTZ_4 = DATEADD(minute,60, T_TSTAMP_WTZ_4),T_TSTAMP_WTZ_5 = DATEADD(minute,60, T_TSTAMP_WTZ_5),T_TSTAMP_WTZ_6 = DATEADD(minute,60, T_TSTAMP_WTZ_6),     T_TSTAMP_WTZ_7 = DATEADD(minute,60, T_TSTAMP_WTZ_7),T_TSTAMP_WTZ_8 = DATEADD(minute,60, T_TSTAMP_WTZ_8),T_TSTAMP_WTZ_9 = DATEADD(minute,60, T_TSTAMP_WTZ_9),     T_TSTAMP_WTZ_10 = DATEADD(minute,60, T_TSTAMP_WTZ_10),T_TSTAMP_WTZ_11 = DATEADD(minute,60, T_TSTAMP_WTZ_11),T_TSTAMP_WTZ_12 = DATEADD(minute,60, T_TSTAMP_WTZ_12) where ID between 250001 and 500000;  commit;<\/code><\/pre>\n<p>\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Firebird \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f 50% \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 9528 MB<\/p>\n<p>\u0414\u043b\u044f PostgreSQL: \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438:<\/p>\n<pre><code class=\"sql\">update T_VARCHAR_12_200 set      VARCHAR_1 = reverse(VARCHAR_1),VARCHAR_2 = reverse(VARCHAR_2),VARCHAR_3 = reverse(VARCHAR_3),     VARCHAR_4 = reverse(VARCHAR_4),VARCHAR_5 = reverse(VARCHAR_5),VARCHAR_6 = reverse(VARCHAR_6),     VARCHAR_7 = reverse(VARCHAR_7),VARCHAR_8 = reverse(VARCHAR_8),VARCHAR_9 = reverse(VARCHAR_9),     VARCHAR_10 = reverse(VARCHAR_10),VARCHAR_11 = reverse(VARCHAR_11),VARCHAR_12 = reverse(VARCHAR_12) where ID between 250001 and 500000;  update T_VARCHAR_12_50 set      VARCHAR_1 = reverse(VARCHAR_1),VARCHAR_2 = reverse(VARCHAR_2),VARCHAR_3 = reverse(VARCHAR_3),     VARCHAR_4 = reverse(VARCHAR_4),VARCHAR_5 = reverse(VARCHAR_5),VARCHAR_6 = reverse(VARCHAR_6),     VARCHAR_7 = reverse(VARCHAR_7),VARCHAR_8 = reverse(VARCHAR_8),VARCHAR_9 = reverse(VARCHAR_9),     VARCHAR_10 = reverse(VARCHAR_10),VARCHAR_11 = reverse(VARCHAR_11),VARCHAR_12 = reverse(VARCHAR_12) where ID between 250001 and 500000;  update T_CHAR_12_200 set      CHAR_1 = reverse(CHAR_1),CHAR_2 = reverse(CHAR_2),CHAR_3 = reverse(CHAR_3),     CHAR_4 = reverse(CHAR_4),CHAR_5 = reverse(CHAR_5),CHAR_6 = reverse(CHAR_6),     CHAR_7 = reverse(CHAR_7),CHAR_8 = reverse(CHAR_8),CHAR_9 = reverse(CHAR_9),     CHAR_10 = reverse(CHAR_10),CHAR_11 = reverse(CHAR_11),CHAR_12 = reverse(CHAR_12) where ID between 250001 and 500000;  update T_CHAR_12_50 set      CHAR_1 = reverse(CHAR_1),CHAR_2 = reverse(CHAR_2),CHAR_3 = reverse(CHAR_3),     CHAR_4 = reverse(CHAR_4),CHAR_5 = reverse(CHAR_5),CHAR_6 = reverse(CHAR_6),     CHAR_7 = reverse(CHAR_7),CHAR_8 = reverse(CHAR_8),CHAR_9 = reverse(CHAR_9),     CHAR_10 = reverse(CHAR_10),CHAR_11 = reverse(CHAR_11),CHAR_12 = reverse(CHAR_12) where ID between 250001 and 500000;  update T_INT12 set     INT_1 = (INT_1-1000),INT_2 = INT_2-1000,INT_3 = INT_3-1000,INT_4 = INT_4-1000,     INT_5 = INT_5-1000,INT_6 = INT_6-1000,INT_7 = INT_7-1000,INT_8 = INT_8-1000,     INT_9 = INT_9-1000,INT_10 = INT_10-1000,INT_11 = INT_11-1000,INT_12 = INT_12-1000 where ID between 250001 and 500000;  update T_DATE_12 set     T_DATE_1 = T_DATE_1 + INTERVAL '365 day',T_DATE_2 = T_DATE_2 + INTERVAL '365 day',T_DATE_3 = T_DATE_3 + INTERVAL '365 day',     T_DATE_4 = T_DATE_4 + INTERVAL '365 day',T_DATE_5 = T_DATE_5 + INTERVAL '365 day',T_DATE_6 = T_DATE_6 + INTERVAL '365 day',     T_DATE_7 = T_DATE_7 + INTERVAL '365 day',T_DATE_8 = T_DATE_8 + INTERVAL '365 day',T_DATE_9 = T_DATE_9 + INTERVAL '365 day',     T_DATE_10 = T_DATE_10 + INTERVAL '365 day',T_DATE_11 = T_DATE_11 + INTERVAL '365 day',T_DATE_12 = T_DATE_12 + INTERVAL '365 day' where ID between 250001 and 500000;  update T_BOOL_12 set     T_BOOL_1 = T_BOOL_2,T_BOOL_2 = T_BOOL_1,T_BOOL_3 = T_BOOL_2,T_BOOL_4 = T_BOOL_1,     T_BOOL_5 = T_BOOL_2,T_BOOL_6 = T_BOOL_1,T_BOOL_7 = T_BOOL_2,T_BOOL_8 = T_BOOL_1,     T_BOOL_9 = T_BOOL_2,T_BOOL_10 = T_BOOL_1,T_BOOL_11 = T_BOOL_2,T_BOOL_12 = T_BOOL_1 where ID between 250001 and 500000;  update T_REAL_12 set     T_REAL_1 = T_REAL_1 - 10000,T_REAL_2 = T_REAL_2 - 10000,T_REAL_3 = T_REAL_2 - 10000,T_REAL_4 = T_REAL_4 - 10000,     T_REAL_5 = T_REAL_5 - 10000,T_REAL_6 = T_REAL_6 - 10000,T_REAL_7 = T_REAL_7 - 10000,T_REAL_8 = T_REAL_8 - 10000,     T_REAL_9 = T_REAL_9 - 10000,T_REAL_10 = T_REAL_10 - 10000,T_REAL_11 = T_REAL_11 - 10000,T_REAL_12 = T_REAL_12 - 10000 where ID between 250001 and 500000;  update T_NUM_12 set     T_NUM_1 = T_NUM_1 - 10000,T_NUM_2 = T_NUM_2 - 10000,T_NUM_3 = T_NUM_2 - 10000,T_NUM_4 = T_NUM_4 - 10000,     T_NUM_5 = T_NUM_5 - 10000,T_NUM_6 = T_NUM_6 - 10000,T_NUM_7 = T_NUM_7 - 10000,T_NUM_8 = T_NUM_8 - 10000,     T_NUM_9 = T_NUM_9 - 10000,T_NUM_10 = T_NUM_10 - 10000,T_NUM_11 = T_NUM_11 - 10000,T_NUM_12 = T_NUM_12 - 10000 where ID between 250001 and 500000;  update T_TIME_12 set     T_TIME_1 = T_TIME_1 + INTERVAL '60 hour',T_TIME_2 = T_TIME_2 + INTERVAL '60 hour',     T_TIME_3 = T_TIME_3 + INTERVAL '60 hour',T_TIME_4 = T_TIME_4 + INTERVAL '60 hour',     T_TIME_5 = T_TIME_5 + INTERVAL '60 hour',T_TIME_6 = T_TIME_6 + INTERVAL '60 hour',     T_TIME_7 = T_TIME_7 + INTERVAL '60 hour',T_TIME_8 = T_TIME_8 + INTERVAL '60 hour',     T_TIME_9 = T_TIME_9 + INTERVAL '60 hour',T_TIME_10 = T_TIME_10 + INTERVAL '60 hour',     T_TIME_11 = T_TIME_11 + INTERVAL '60 hour',T_TIME_12 = T_TIME_12 + INTERVAL '60 hour' where ID between 250001 and 500000;  update T_TIME_WTZ_12 set     T_TIME_WTZ_1 = T_TIME_WTZ_1 + INTERVAL '60 hour',T_TIME_WTZ_2 = T_TIME_WTZ_2 + INTERVAL '60 hour',     T_TIME_WTZ_3 = T_TIME_WTZ_3 + INTERVAL '60 hour',T_TIME_WTZ_4 = T_TIME_WTZ_4 + INTERVAL '60 hour',     T_TIME_WTZ_5 = T_TIME_WTZ_5 + INTERVAL '60 hour',T_TIME_WTZ_6 = T_TIME_WTZ_6 + INTERVAL '60 hour',     T_TIME_WTZ_7 = T_TIME_WTZ_7 + INTERVAL '60 hour',T_TIME_WTZ_8 = T_TIME_WTZ_8 + INTERVAL '60 hour',     T_TIME_WTZ_9 = T_TIME_WTZ_9 + INTERVAL '60 hour',T_TIME_WTZ_10 = T_TIME_WTZ_10 + INTERVAL '60 hour',     T_TIME_WTZ_11 = T_TIME_WTZ_11 + INTERVAL '60 hour',T_TIME_WTZ_12 = T_TIME_WTZ_12 + INTERVAL '60 hour' where ID between 250001 and 500000;  update T_TSTAMP_12 set     T_TSTAMP_1 = T_TSTAMP_1 + INTERVAL '60 hour',T_TSTAMP_2 = T_TSTAMP_2 + INTERVAL '60 hour',     T_TSTAMP_3 = T_TSTAMP_3 + INTERVAL '60 hour',T_TSTAMP_4 = T_TSTAMP_4 + INTERVAL '60 hour',     T_TSTAMP_5 = T_TSTAMP_5 + INTERVAL '60 hour',T_TSTAMP_6 = T_TSTAMP_6 + INTERVAL '60 hour',     T_TSTAMP_7 = T_TSTAMP_7 + INTERVAL '60 hour',T_TSTAMP_8 = T_TSTAMP_8 + INTERVAL '60 hour',     T_TSTAMP_9 = T_TSTAMP_9 + INTERVAL '60 hour',T_TSTAMP_10 = T_TSTAMP_10 + INTERVAL '60 hour',     T_TSTAMP_11 = T_TSTAMP_11 + INTERVAL '60 hour',T_TSTAMP_12 = T_TSTAMP_12 + INTERVAL '60 hour' where ID between 250001 and 500000;  update T_TSTAMP_WTZ_12 set     T_TSTAMP_WTZ_1 =  T_TSTAMP_WTZ_1 + INTERVAL '60 hour',T_TSTAMP_WTZ_2 =  T_TSTAMP_WTZ_2 + INTERVAL '60 hour',     T_TSTAMP_WTZ_3 =  T_TSTAMP_WTZ_3 + INTERVAL '60 hour',T_TSTAMP_WTZ_4 =  T_TSTAMP_WTZ_4 + INTERVAL '60 hour',     T_TSTAMP_WTZ_5 =  T_TSTAMP_WTZ_5 + INTERVAL '60 hour',T_TSTAMP_WTZ_6 =  T_TSTAMP_WTZ_6 + INTERVAL '60 hour',     T_TSTAMP_WTZ_7 =  T_TSTAMP_WTZ_7 + INTERVAL '60 hour',T_TSTAMP_WTZ_8 =  T_TSTAMP_WTZ_8 + INTERVAL '60 hour',     T_TSTAMP_WTZ_9 =  T_TSTAMP_WTZ_9 + INTERVAL '60 hour',T_TSTAMP_WTZ_10 =  T_TSTAMP_WTZ_10 + INTERVAL '60 hour',     T_TSTAMP_WTZ_11 =  T_TSTAMP_WTZ_11 + INTERVAL '60 hour',T_TSTAMP_WTZ_12 =  T_TSTAMP_WTZ_12 + INTERVAL '60 hour' where ID between 250001 and 500000;<\/code><\/pre>\n<p>\u0420\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f 50% \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 9894 MB \u0421\u0432\u0435\u0434\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443<\/p>\n<h4>\u0420\u0430\u0437\u043c\u0435\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446 \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">\u0422\u0430\u0431\u043b\u0438\u0446\u0430<\/p>\n<\/th>\n<th>\n<p align=\"left\">PostgreSQL (MB)<\/p>\n<\/th>\n<th>\n<p align=\"left\">Firebird (MB)<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_bool_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">53<\/p>\n<\/td>\n<td>\n<p align=\"left\">53.63<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_char_12_200<\/p>\n<\/td>\n<td>\n<p align=\"left\">3427<\/p>\n<\/td>\n<td>\n<p align=\"left\">3255.25<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_char_12_50<\/p>\n<\/td>\n<td>\n<p align=\"left\">814<\/p>\n<\/td>\n<td>\n<p align=\"left\">835.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_date_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">101<\/p>\n<\/td>\n<td>\n<p align=\"left\">109.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_int12<\/p>\n<\/td>\n<td>\n<p align=\"left\">101<\/p>\n<\/td>\n<td>\n<p align=\"left\">109.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_num_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">199<\/p>\n<\/td>\n<td>\n<p align=\"left\">167.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_real_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">160<\/p>\n<\/td>\n<td>\n<p align=\"left\">109.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_time_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">160<\/p>\n<\/td>\n<td>\n<p align=\"left\">109.13<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_time_wtz_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">279<\/p>\n<\/td>\n<td>\n<p align=\"left\">158.50<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_tstamp_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">160<\/p>\n<\/td>\n<td>\n<p align=\"left\">158.50<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_tstamp_wtz_12<\/p>\n<\/td>\n<td>\n<p align=\"left\">160<\/p>\n<\/td>\n<td>\n<p align=\"left\">245.88<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_varchar_12_200<\/p>\n<\/td>\n<td>\n<p align=\"left\">3458<\/p>\n<\/td>\n<td>\n<p align=\"left\">3255.25<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">t_varchar_12_50<\/p>\n<\/td>\n<td>\n<p align=\"left\">814<\/p>\n<\/td>\n<td>\n<p align=\"left\">865.63<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0413\u0440\u0430\u0444\u0438\u043a<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/87e\/d47\/45f\/87ed4745f41113c7c38931e61cc91088.png\" alt=\"100%\" width=\"661\" height=\"204\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/87e\/d47\/45f\/87ed4745f41113c7c38931e61cc91088.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/87e\/d47\/45f\/87ed4745f41113c7c38931e61cc91088.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>100%<\/figcaption><\/div>\n<\/figure>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b<\/h3>\n<p>\u041f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 PostgreSQL 17 \u0438 Firebird 5, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u043e\u00a0\u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f\u0445 \u043c\u0435\u0436\u0434\u0443 \u044d\u0442\u0438\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445\u00a0\u2014 \u043f\u0440\u0438\u00a0\u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u043d\u0430\u0431\u043e\u0440\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (1\u00a0\u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a) \u043e\u0431\u0449\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u0430\u0437\u00a0\u0431\u044b\u043b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c\u00a0\u2014 \u043e\u043a\u043e\u043b\u043e 7863-7864 \u041c\u0411, \u0447\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442 \u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u043e\u0439 \u043e\u0431\u0449\u0435\u0439 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u041e\u0434\u043d\u0430\u043a\u043e, \u043f\u0440\u0438 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u043c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0438 \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f:<\/p>\n<ol>\n<li>\n<p>\u0427\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<ul>\n<li>\n<p>PostgreSQL \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u044b (integer)\u00a0\u2014 81\u00a0MB \u043f\u0440\u043e\u0442\u0438\u0432 99.63\u00a0MB \u0432\u00a0Firebird<\/p>\n<\/li>\n<li>\n<p>Firebird \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0442\u0438\u043f\u044b \u0441\u00a0\u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 (float, numeric)\u00a0\u2014 99.63 MB \u043f\u0440\u043e\u0442\u0438\u0432 128 MB \u0438 146.13 MB \u043f\u0440\u043e\u0442\u0438\u0432 159 MB<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0421\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<ul>\n<li>\n<p>Firebird \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u0430 char \u0438 varchar, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u0445 \u043f\u043e\u043b\u0435\u0439 (200 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432)\u00a0\u2014 2604.25\u00a0MB \u043f\u0440\u043e\u0442\u0438\u0432 2728\u00a0MB \u0432 PostgreSQL<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<ul>\n<li>\n<p>PostgreSQL \u0438 Firebird \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b \u043f\u0440\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0437\u043e\u043d (time with timezone, timestamp with timezone) \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434: PostgreSQL \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0435\u0441\u0442\u0430 \u0434\u043b\u044f time with timezone (223 MB \u043f\u0440\u043e\u0442\u0438\u0432 146.13 MB), \u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u043b\u044f timestamp with timezone (128 MB \u043f\u0440\u043e\u0442\u0438\u0432 233.25 MB)<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445<\/strong><\/p>\n<p>\u041f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0430\u0437\u0430\u0445 (25% \u0438 50% \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u043e\u043a) \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u0432 \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u0445 \u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c:<\/p>\n<p>1. <strong>\u041f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 25% \u0434\u0430\u043d\u043d\u044b\u0445<\/strong>:<\/p>\n<ul>\n<li>\n<p>PostgreSQL: \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u044b\u0440\u043e\u0441 \u0434\u043e 9862 MB (\u043d\u0430 1999 MB \u0438\u043b\u0438 ~25%)<\/p>\n<\/li>\n<li>\n<p>Firebird: \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u044b\u0440\u043e\u0441 \u0434\u043e 8504 MB (\u043d\u0430 641 MB \u0438\u043b\u0438 ~8%)<\/p>\n<\/li>\n<\/ul>\n<p>2. <strong>\u041f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 50% \u0434\u0430\u043d\u043d\u044b\u0445<\/strong>:<\/p>\n<ul>\n<li>\n<p>PostgreSQL: \u0440\u0430\u0437\u043c\u0435\u0440 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0441\u044f \u0434\u043e 9894 MB (\u043d\u0430 32 MB \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e 25% \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f)<\/p>\n<\/li>\n<li>\n<p>Firebird: \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u044b\u0440\u043e\u0441 \u0434\u043e 9528 MB (\u0435\u0449\u0435 \u043d\u0430 1024 MB \u0438\u043b\u0438 ~12%)<\/p>\n<\/li>\n<\/ul>\n<p>3. <strong>\u041e\u0431\u0449\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f 50% \u0434\u0430\u043d\u043d\u044b\u0445<\/strong>:<\/p>\n<ul>\n<li>\n<p>PostgreSQL: \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 2031 MB \u0438\u043b\u0438 ~26% \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>Firebird: \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 1665 MB \u0438\u043b\u0438 ~21% \u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0432\u044b\u0432\u043e\u0434\u044b:<\/strong><\/p>\n<p>1. <strong>\u041c\u043e\u0434\u0435\u043b\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/strong>:<\/p>\n<ul>\n<li>\n<p>PostgreSQL \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0441\u0440\u0430\u0437\u0443 (\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u043e\u0441\u0442 \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438)<\/p>\n<\/li>\n<li>\n<p>Firebird \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0440\u043e\u0441\u0442 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445<\/p>\n<\/li>\n<\/ul>\n<p>2. <strong>\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445<\/strong>:<\/p>\n<ul>\n<li>\n<p>Firebird \u0431\u043e\u043b\u0435\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u043d\u043e \u0440\u0430\u0441\u0445\u043e\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0440\u0438 \u0447\u0430\u0441\u0442\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>PostgreSQL \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0435\u0433\u043e MVCC \u043c\u043e\u0434\u0435\u043b\u044c\u044e (\u043c\u043d\u043e\u0433\u043e\u0432\u0435\u0440\u0441\u0438\u043e\u043d\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043d\u044b\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c)<\/p>\n<\/li>\n<\/ul>\n<p>3. <strong>\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445<\/strong>:<\/p>\n<ul>\n<li>\n<p>PostgreSQL \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/p>\n<\/li>\n<li>\n<p>Firebird \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0447\u0438\u0441\u043b\u0430\u043c\u0438 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439<\/p>\n<\/li>\n<\/ul>\n<p>4. <strong>\u0412\u043b\u0438\u044f\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412\u044b\u0431\u043e\u0440 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 \u043e\u0431\u0435\u0438\u0445 \u0421\u0423\u0411\u0414<\/p>\n<\/li>\n<li>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0447\u0430\u0441\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u044f\u0441\u0430\u043c\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432 \u043e\u0431\u0435\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443.<\/p>\n<\/li>\n<\/ul>\n<p>\u042d\u0442\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043e\u0434\u043d\u0430 \u0438\u0437 \u0421\u0423\u0411\u0414 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u043e \u043f\u0440\u0438 \u0441\u043f\u043e\u043d\u0441\u043e\u0440\u0441\u043a\u043e\u0439 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 iBase <a href=\"https:\/\/www.ibase.ru\/\" rel=\"noopener noreferrer nofollow\">https:\/\/www.ibase.ru\/<\/a><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/899676\/\"> https:\/\/habr.com\/ru\/articles\/899676\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h3>\u0417\u0430\u0434\u0430\u0447\u0430: \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a, \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.<\/h3>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0432\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 Firebird \u0438 PostgreSQL \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 UTF8.<\/p>\n<p>\u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<ul>\n<li>\n<p>boolean<\/p>\n<\/li>\n<li>\n<p>char<\/p>\n<\/li>\n<li>\n<p>varchar<\/p>\n<\/li>\n<li>\n<p>date<\/p>\n<\/li>\n<li>\n<p>integer<\/p>\n<\/li>\n<li>\n<p>numeric<\/p>\n<\/li>\n<li>\n<p>float<\/p>\n<\/li>\n<li>\n<p>time<\/p>\n<\/li>\n<li>\n<p>time with timezone<\/p>\n<\/li>\n<li>\n<p>timestamp<\/p>\n<\/li>\n<li>\n<p>timestamp with timezone<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f char \u0438 varcher \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0434\u043b\u0438\u043d\u0443 50 \u0438 200 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, numeric \u0434\u043b\u0438\u043d\u0443 15 \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c 10. \u0422\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0448\u0438\u0440\u0438\u043d\u043e\u0439 12 \u043f\u043e\u043b\u0435\u0439 + \u0441\u0443\u0440\u0440\u043e\u0433\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 integer.<\/p>\n<h4>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u043c\u0438:<\/h4>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 boolean<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_BOOL_12 (     ID         INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_BOOL_1   BOOLEAN,     T_BOOL_2   BOOLEAN,     T_BOOL_3   BOOLEAN,     T_BOOL_4   BOOLEAN,     T_BOOL_5   BOOLEAN,     T_BOOL_6   BOOLEAN,     T_BOOL_7   BOOLEAN,     T_BOOL_8   BOOLEAN,     T_BOOL_9   BOOLEAN,     T_BOOL_10  BOOLEAN,     T_BOOL_11  BOOLEAN,     T_BOOL_12  BOOLEAN );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c\u0438 \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_BOOL_12 (T_BOOL_1, T_BOOL_2, T_BOOL_3, T_BOOL_4, T_BOOL_5, T_BOOL_6, T_BOOL_7, T_BOOL_8, T_BOOL_9, T_BOOL_10, T_BOOL_11, T_BOOL_12) VALUES (TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE); INSERT INTO T_BOOL_12 (T_BOOL_1, T_BOOL_2, T_BOOL_3, T_BOOL_4, T_BOOL_5, T_BOOL_6, T_BOOL_7, T_BOOL_8, T_BOOL_9, T_BOOL_10, T_BOOL_11, T_BOOL_12) VALUES (FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 char(200)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_CHAR_12_200 (     ID       INTEGER GENERATED BY DEFAULT AS IDENTITY,     CHAR_1   CHAR(200),     CHAR_2   CHAR(200),     CHAR_3   CHAR(200),     CHAR_4   CHAR(200),     CHAR_5   CHAR(200),     CHAR_6   CHAR(200),     CHAR_7   CHAR(200),     CHAR_8   CHAR(200),     CHAR_9   CHAR(200),     CHAR_10  CHAR(200),     CHAR_11  CHAR(200),     CHAR_12  CHAR(200) );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a (\u0437\u0430\u043f\u0440\u043e\u0441 \u0443\u043a\u043e\u0440\u043e\u0447\u0435\u043d)<\/p>\n<pre><code class=\"sql\">INSERT INTO T_CHAR_12_200 (CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, CHAR_7, CHAR_8, CHAR_9, CHAR_10, CHAR_11, CHAR_12) VALUES ('C++ is a horrible language.It''s made more horrible by the fact that a lot of substandard programmers use it,to the point where it''s much much easier to generate total and utter crap with it.Torvalds.',...);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 char(50)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_CHAR_12_50 (     ID       INTEGER GENERATED BY DEFAULT AS IDENTITY,     CHAR_1   CHAR(50),     CHAR_2   CHAR(50),     CHAR_3   CHAR(50),     CHAR_4   CHAR(50),     CHAR_5   CHAR(50),     CHAR_6   CHAR(50),     CHAR_7   CHAR(50),     CHAR_8   CHAR(50),     CHAR_9   CHAR(50),     CHAR_10  CHAR(50),     CHAR_11  CHAR(50),     CHAR_12  CHAR(50) );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a (\u0437\u0430\u043f\u0440\u043e\u0441 \u0443\u043a\u043e\u0440\u043e\u0447\u0435\u043d)<\/p>\n<pre><code class=\"sql\">INSERT INTO T_CHAR_12_50 (CHAR_1, CHAR_2, CHAR_3, CHAR_4, CHAR_5, CHAR_6, CHAR_7, CHAR_8, CHAR_9, CHAR_10, CHAR_11, CHAR_12) VALUES ( 'Talk is cheap . Show me the code. Linus Torvalds.', ...);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 date<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_DATE_12 (     ID         INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_DATE_1   DATE,     T_DATE_2   DATE,     T_DATE_3   DATE,     T_DATE_4   DATE,     T_DATE_5   DATE,     T_DATE_6   DATE,     T_DATE_7   DATE,     T_DATE_8   DATE,     T_DATE_9   DATE,     T_DATE_10  DATE,     T_DATE_11  DATE,     T_DATE_12  DATE );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_DATE_12 (IT_DATE_1, T_DATE_2, T_DATE_3, T_DATE_4, T_DATE_5, T_DATE_6, T_DATE_7, T_DATE_8, T_DATE_9, T_DATE_10, T_DATE_11, T_DATE_12) VALUES ('1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001', '1-JAN-2001');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 integer<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_INT12 (     ID      INTEGER GENERATED BY DEFAULT AS IDENTITY,     INT_1   INTEGER,     INT_2   INTEGER,     INT_3   INTEGER,     INT_4   INTEGER,     INT_5   INTEGER,     INT_6   INTEGER,     INT_7   INTEGER,     INT_8   INTEGER,     INT_9   INTEGER,     INT_10  INTEGER,     INT_11  INTEGER,     INT_12  INTEGER );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_INT12 (INT_1, INT_2, INT_3, INT_4, INT_5, INT_6, INT_7, INT_8, INT_9, INT_10, INT_11, INT_12) VALUES (314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265, 314159265);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 numeric<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_NUM_12 (     ID        INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_NUM_1   NUMERIC(15,10),     T_NUM_2   NUMERIC(15,10),     T_NUM_3   NUMERIC(15,10),     T_NUM_4   NUMERIC(15,10),     T_NUM_5   NUMERIC(15,10),     T_NUM_6   NUMERIC(15,10),     T_NUM_7   NUMERIC(15,10),     T_NUM_8   NUMERIC(15,10),     T_NUM_9   NUMERIC(15,10),     T_NUM_10  NUMERIC(15,10),     T_NUM_11  NUMERIC(15,10),     T_NUM_12  NUMERIC(15,10) );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_NUM_12 (T_NUM_1, T_NUM_2, T_NUM_3, T_NUM_4, T_NUM_5, T_NUM_6, T_NUM_7, T_NUM_8, T_NUM_9, T_NUM_10, T_NUM_11, T_NUM_12) VALUES (3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535, 3.1415926535);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 real (float)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_REAL_12 (     ID         INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_REAL_1   FLOAT,     T_REAL_2   FLOAT,     T_REAL_3   FLOAT,     T_REAL_4   FLOAT,     T_REAL_5   FLOAT,     T_REAL_6   FLOAT,     T_REAL_7   FLOAT,     T_REAL_8   FLOAT,     T_REAL_9   FLOAT,     T_REAL_10  FLOAT,     T_REAL_11  FLOAT,     T_REAL_12  FLOAT );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_REAL_12 (T_REAL_1, T_REAL_2, T_REAL_3, T_REAL_4, T_REAL_5, T_REAL_6, T_REAL_7, T_REAL_8, T_REAL_9, T_REAL_10, T_REAL_11, T_REAL_12) VALUES (3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257, 3.14159274101257);<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 time<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_TIME_12 (     ID         INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_TIME_1   TIME,     T_TIME_2   TIME,     T_TIME_3   TIME,     T_TIME_4   TIME,     T_TIME_5   TIME,     T_TIME_6   TIME,     T_TIME_7   TIME,     T_TIME_8   TIME,     T_TIME_9   TIME,     T_TIME_10  TIME,     T_TIME_11  TIME,     T_TIME_12  TIME );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_TIME_12 (ID, T_TIME_1, T_TIME_2, T_TIME_3, T_TIME_4, T_TIME_5, T_TIME_6, T_TIME_7, T_TIME_8, T_TIME_9, T_TIME_10, T_TIME_11, T_TIME_12) VALUES (1, '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 time with time zone<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_TIME_WTZ_12 (     ID             INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_TIME_WTZ_1   TIME WITH TIME ZONE,     T_TIME_WTZ_2   TIME WITH TIME ZONE,     T_TIME_WTZ_3   TIME WITH TIME ZONE,     T_TIME_WTZ_4   TIME WITH TIME ZONE,     T_TIME_WTZ_5   TIME WITH TIME ZONE,     T_TIME_WTZ_6   TIME WITH TIME ZONE,     T_TIME_WTZ_7   TIME WITH TIME ZONE,     T_TIME_WTZ_8   TIME WITH TIME ZONE,     T_TIME_WTZ_9   TIME WITH TIME ZONE,     T_TIME_WTZ_10  TIME WITH TIME ZONE,     T_TIME_WTZ_11  TIME WITH TIME ZONE,     T_TIME_WTZ_12  TIME WITH TIME ZONE );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_TIME_WTZ_12 (T_TIME_WTZ_1, T_TIME_WTZ_2, T_TIME_WTZ_3, T_TIME_WTZ_4, T_TIME_WTZ_5, T_TIME_WTZ_6, T_TIME_WTZ_7, T_TIME_WTZ_8, T_TIME_WTZ_9, T_TIME_WTZ_10, T_TIME_WTZ_11, T_TIME_WTZ_12) VALUES ('5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05', '5:05:05');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 timestamp<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_TSTAMP_12 (     ID           INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_TSTAMP_1   TIMESTAMP,     T_TSTAMP_2   TIMESTAMP,     T_TSTAMP_3   TIMESTAMP,     T_TSTAMP_4   TIMESTAMP,     T_TSTAMP_5   TIMESTAMP,     T_TSTAMP_6   TIMESTAMP,     T_TSTAMP_7   TIMESTAMP,     T_TSTAMP_8   TIMESTAMP,     T_TSTAMP_9   TIMESTAMP,     T_TSTAMP_10  TIMESTAMP,     T_TSTAMP_11  TIMESTAMP,     T_TSTAMP_12  TIMESTAMP );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_TSTAMP_12 (T_TSTAMP_1, T_TSTAMP_2, T_TSTAMP_3, T_TSTAMP_4, T_TSTAMP_5, T_TSTAMP_6, T_TSTAMP_7, T_TSTAMP_8, T_TSTAMP_9, T_TSTAMP_10, T_TSTAMP_11, T_TSTAMP_12) VALUES ('1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00', '1-JAN-2001 00:00:00');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 timestamp with time zone<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_TSTAMP_WTZ_12 (     ID               INTEGER GENERATED BY DEFAULT AS IDENTITY,     T_TSTAMP_WTZ_1   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_2   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_3   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_4   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_5   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_6   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_7   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_8   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_9   TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_10  TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_11  TIMESTAMP WITH TIME ZONE,     T_TSTAMP_WTZ_12  TIMESTAMP WITH TIME ZONE );<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f 1 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a<\/p>\n<pre><code class=\"sql\">INSERT INTO T_TSTAMP_WTZ_12 (T_TSTAMP_WTZ_1, T_TSTAMP_WTZ_2, T_TSTAMP_WTZ_3, T_TSTAMP_WTZ_4, T_TSTAMP_WTZ_5, T_TSTAMP_WTZ_6, T_TSTAMP_WTZ_7, T_TSTAMP_WTZ_8, T_TSTAMP_WTZ_9, T_TSTAMP_WTZ_10, T_TSTAMP_WTZ_11, T_TSTAMP_WTZ_12) VALUES ('1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05', '1-JAN-2001 05:05:05');<\/code><\/pre>\n<h3>\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 varcher(200)<\/h3>\n<pre><code class=\"sql\">CREATE TABLE T_VARCHAR_12_200 (     ID          INTEGER GENERATED BY DEFAULT AS IDENTITY,     VARCHAR_1   VARCHAR(200),     VARCHAR_2   VARCHAR(200),     VARCHAR_3<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-457944","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/457944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=457944"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/457944\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=457944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=457944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=457944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}