Thanks to Slony-I team for releasing Slony-I 2.2.0Beta with many enhancements on key areas. Few are mentioned here: Event capturing protocol changed for performance (sl_log_1 / sl_log_2): Earlier release, any DML(INSERT/UPDATE/DELETE) event data must store as SQL statement in two tables(sl_log_1/sl_log_2). Now, the protocol has completely modified to COPY format, as a result of this there’ll be sensible performance improvement like lower processing overhead, lower memory consumption, less query processing work on subscriber database in slon process. Continue reading →
Now GET DIAGNOSTIC will return the number of rows processed by COPY statement in a Pl/Pgsql function. COPY statement in Pl/Pgsql Function: CREATE OR REPLACE FUNCTION public.copy_data(fname text) RETURNS integer AS $$ declare copy_qry text; cnt integer; Begin copy_qry := 'copy t from'||quote_literal(fname)||' with CSV HEADER;'; Execute copy_qry; GET DIAGNOSTICS cnt = ROW_COUNT; return cnt; end; $$ Language plpgsql; Previous release: -bash-4.1$ psql psql.bin (9.2.3) Type "help" for help. postgres=# select copy_data('/usr/local/pg93beta/t_load. Continue reading →
New feature introduced in PostgreSQL 9.3Beta 1 i.e. “Disk page checksums”. Thanks to author Ants Aasama and Simon Riggs, Jeff Davis,Greg Smith. In earlier releases, if there’s any data corruption block on disk it was silently ignored until any pointer arrives on it or some wrong results shown by the queries. Now, data corruption detected beforehand by triggering WARNING message instead of silently using or waiting for hit on the corrupted block. Continue reading →
So what is “UTF-8 BOM” mean ? its byte order mark for UTF-8, some bytes (0xEF,0xBB,0xBF) are added at the start of the file to indicate that the file having unicode characters in it. BOM Characters “9”. As per Unicode documentation, the presence of BOM in file are useless, because it causes problems with non-BOM-aware software’s to identify or parse the leading characters having at the start. Same has been quoted at the bottom of the Wikipedia page: Continue reading →
PostgreSQL users access to the database goes through libpq library. It also has a feature of allowing automation for users without prompting password by keeping their details in .pgpass file. Lets see… Points to be considered when setting .pgpass file. It should be created in postgres user home directory. It should disallow any access-level to world or group. Location can be controlled with PGPASSFILE environment variable. Continue reading →