- url="http://www.python.org/dev/peps/pep-0394/">PEP 394 regarding the
+ url="https ://www.python.org/dev/peps/pep-0394/">PEP 394 regarding the
naming and transitioning of the python command.
See also the
- document
://docs.python.org/py3k/whatsnew/3.0.html">What's
+ document
s://docs.python.org/3/whatsnew/3.0.html">What's
New In Python 3.0 for more information about porting to
Python 3.
batch of rows, never larger than the parameter value. Once all rows are
exhausted, fetch starts returning an empty result
object. Cursor objects also provide an
+
s://docs.python.org/library/stdtypes.html#iterator-types">iterator
interface, yielding one row at a time until all rows are
exhausted. Data fetched that way is not returned as result objects, but
rather as dictionaries, each dictionary corresponding to a single result
Do not confuse objects created by plpy.cursor with
DB-API cursors as defined by
+ the
s://www.python.org/dev/peps/pep-0249/">Python
Database API specification. They don't have anything in common
except for the name.
helper object to manage explicit subtransactions that gets created
with the plpy.subtransaction() function.
Objects created by this function implement the
+
s://docs.python.org/library/stdtypes.html#context-manager-types">
context manager interface. Using explicit subtransactions
we can rewrite our function as:
Although context managers were implemented in Python 2.5, to use
the with syntax in that version you need to
use a
- url="http://docs.python.org/release/2.5/ref/future.html">future
+ url="https ://docs.python.org/release/2.5/ref/future.html">future
statement. Because of implementation details, however,
you cannot use future statements in PL/Python functions.
It is better to report everything the first time than us having to squeeze the
facts out of you. On the other hand, if your input files are huge, it is
fair to ask first whether somebody is interested in looking into it. Here is
+ an
s://www.chiark.greenend.org.uk/~sgtatham/bugs.html">article
that outlines some more tips on reporting bugs.
one page: http://www.zipcon.net/~swhite/docs/computers/browsers/entities_page.html
other lists: http://www.zipcon.net/~swhite/docs/computers/browsers/entities.html
http://www.zipcon.net/~swhite/docs/computers/browsers/entities_page.html
- http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
+ https ://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
We cannot use UTF8 because back branches still use SGML Docbook,
which does not support it. Also, rendering engines have to
A complete list of changes for each release can be obtained by
viewing the Git logs for each release.
The
- url="https://archives.postgresql.org /pgsql-committers/">pgsql-committers
+ url="https://www.postgresql.org/list /pgsql-committers/">pgsql-committers
email list records all source code changes as well. There is also
+ a
/?p=postgresql.git;a=summary">web
interface that shows changes to specific files.
If the client or server
NFS implementation does not
provide standard file system semantics, this can
cause reliability problems (see
- url="http://www.time-travellers.org/shane/papers/NFS_considered_harmful.html">).
+ url="https ://www.time-travellers.org/shane/papers/NFS_considered_harmful.html">).
Specifically, delayed (asynchronous) writes to the
NFS
server can cause data corruption problems. If possible, mount the
NFS file system synchronously (without caching) to avoid
On Linux 2.6 and later, it is possible to modify the
kernel's behavior so that it will not overcommit
memory.
Although this setting will not prevent the
- url="http://lwn.net/Articles/104179/">OOM killer from being invoked
+ url="https ://lwn.net/Articles/104179/">OOM killer from being invoked
altogether, it will lower the chances significantly and will therefore
lead to more robust system behavior. This is done by selecting strict
overcommit mode via sysctl :
Some of the information here is derived from Purdue University's
SP-GiST Indexing Project
+
s://www.cs.purdue.edu/spgist/">web site .
The
SP-GiST implementation in
PostgreSQL is primarily maintained by Teodor
Sigaev and Oleg Bartunov, and there is more information on their
The standard
PostgreSQL distribution does
not include any
Ispell configuration files.
Dictionaries for a large number of languages are available from
- url="http://ficus-www.cs.ucla.edu/ geoff/ispell.html">Ispell.
+ url="https://www.cs.hmc.edu/~ geoff/ispell.html">Ispell.
Also, some more modern dictionary file formats are supported —
- url="http://en.wikipedia.org/wiki/MySpell">MySpell (OO < 2.0.1)
+ url="https ://en.wikipedia.org/wiki/MySpell">MySpell (OO < 2.0.1)
+ and
s://sourceforge.net/projects/hunspell/">Hunspell
(OO >= 2.0.2). A large list of dictionaries is available on the
- url="http://wiki.services .openoffice.org/wiki/Dictionaries">OpenOffice
+ url="https://wiki .openoffice.org/wiki/Dictionaries">OpenOffice
Wiki.
If you use SSDs, be aware that many of these do not honor cache flush
commands by default.
You can test for reliable I/O subsystem behavior using
- url="http://brad.livejournal.com/2116715.html">diskchecker.pl .
+ url="https ://brad.livejournal.com/2116715.html">diskchecker.pl .
*
* This implementation is based on pseudocode found at:
*
- * http://en.wikipedia.org/w/index.php?title=Hopcroft%E2%80%93Karp_algorithm&oldid=593898016
+ * https ://en.wikipedia.org/w/index.php?title=Hopcroft%E2%80%93Karp_algorithm&oldid=593898016
*
* Copyright (c) 2015-2018, PostgreSQL Global Development Group
*
* While 0 ^ 0 can be either 1 or indeterminate (error), we treat
* it as 1 because most programming languages do this. SQL:2003
* also requires a return value of 1.
- * http://en.wikipedia.org/wiki/Exponentiation#Zero_to_the_zero_power
+ * https ://en.wikipedia.org/wiki/Exponentiation#Zero_to_the_zero_power
*/
set_var_from_var(&const_one, result);
result->dscale = rscale; /* no need to round */
* pg_erand48 generates [0,1), but for the basic version of the
* Box-Muller transform the two uniformly distributed random numbers
* are expected in (0, 1] (see
- * http://en.wikipedia.org/wiki/Box_muller )
+ * https://en.wikipedia.org/wiki/Box-Muller_transform )
*/
double rand1 = 1.0 - pg_erand48(thread->random_state);
double rand2 = 1.0 - pg_erand48(thread->random_state);