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…
Category: PostgreSQL
GET DIAGNOSTICS with COPY statement in Pl/pgsql function
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 integerAS $$declare copy_qry text; cnt integer;Begincopy_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$ psqlpsql.bin (9.2.3)Type “help”…
Disk page checksums to detect filesystem failures in PostgreSQL 9.3Beta 1
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…
What if, import file (txt/csv) having “BOM-ed UTF-8” encoding?
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…
Configuring .pgpass (Password File) on Windows/Linux/Solaris
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.1. It should be created in postgres user home directory.2. It should disallow any access-level to…