MediaWiki REL1_32
docs/databases/postgres.txt File Reference

Functions

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN boolean columns are always mapped to as the code does not always treat the column as a boolean (which is limited to accepting true, false, 0, 1, t, or f) *The default data type for all VARCHAR
 

Variables

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN boolean columns are always mapped to as the code does not always treat the column as a CHAR
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN boolean columns are always mapped to as the code does not always treat the column as a and VARBINARY columns should simply be TEXT The only exception is when VARBINARY is used to store true binary such as the math_inputhash column
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the conversion
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN boolean columns are always mapped to as the code does not always treat the column as a and VARBINARY columns should simply be TEXT The only exception is when VARBINARY is used to store true binary data
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well integrated
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of life
 
This document describes the state of Postgres support in MediaWiki
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN boolean columns are always mapped to SMALLINT
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss Still
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres support
 
This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN type
 

Function Documentation

◆ boolean()

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN boolean columns are always mapped to as the code does not always treat the column as a boolean ( which is limited to accepting  true,
false  ,
,
,
,
or  f 
)

References as, and boolean().

Referenced by boolean(), groups(), and query().

Variable Documentation

◆ CHAR

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN boolean columns are always mapped to as the code does not always treat the column as a CHAR

Definition at line 41 of file postgres.txt.

◆ column

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around *Although Postgres has a true BOOLEAN boolean columns are always mapped to as the code does not always treat the column as a and VARBINARY columns should simply be TEXT The only exception is when VARBINARY is used to store true binary such as the math_inputhash column

Definition at line 44 of file postgres.txt.

◆ conversion

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the conversion

Definition at line 28 of file postgres.txt.

◆ data

array $mLimitReportData Parser limit report ParserOutput::data

Definition at line 43 of file postgres.txt.

Referenced by Wikimedia\Rdbms\Blob::__construct(), Wikimedia\Rdbms\MssqlBlob::__construct(), DummyContentForTesting::__construct(), DummyNonTextContent::__construct(), FauxRequest::__construct(), Exif::__construct(), CommentStoreComment::__construct(), WebRequest::__construct(), BenchUtf8TitleCheck::__construct(), CleanupInvalidDbKeys::__construct(), BackupReader::__construct(), PopulateInterwiki::__construct(), PopulateIpChanges::__construct(), RecountCategories::__construct(), ReplacementArray::__construct(), QuickTemplate::__construct(), StripState::__construct(), MediaWiki\Session\SessionBackend::__construct(), LinkBatch::add(), FakeAuthTemplate::addInputItem(), StripState::addItem(), LinkBatch::constructSet(), JobQueueRedis::doAck(), LinkBatch::doGenderQuery(), ZipDirectoryReader::execute(), BenchUtf8TitleCheck::execute(), QuickTemplate::extend(), Wikimedia\Rdbms\MssqlBlob::fetch(), ExternalStoreForTesting::fetchFromURL(), LCStoreStaticArray::finishWrite(), LCStoreStaticArray::get(), QuickTemplate::get(), WebRequest::getArray(), ResourceLoaderClientHtml::getData(), BaseTemplate::getFooterLinks(), BaseTemplate::getIndicators(), LocalisationCache::getItem(), WebRequest::getRawVal(), ApiResult::getResultData(), BaseTemplate::getSidebar(), LinkBatch::getSize(), DummyContentForTesting::getSize(), DummyNonTextContent::getSize(), QuickTemplate::getSkin(), LocalisationCache::getSubitem(), StripState::getSubState(), BaseTemplate::getToolbox(), WebRequest::getVal(), WebRequest::getValues(), QuickTemplate::haveData(), QuickTemplate::html(), LocalisationCache::initLanguage(), LocalisationCache::initShallowFallback(), WebRequest::interpolateTitle(), MessageCache::load(), LocalisationCache::loadItem(), LocalisationCache::loadSubitem(), MediaWikiServices(), StripState::merge(), ReplacementArray::merge(), ReplacementArray::mergeArray(), ParserOutputTest::provideGetText(), ResourceLoaderImageModuleTest::providerGetStyleDeclarations(), LocalisationCache::recache(), ReplacementArray::removePair(), ReplacementArray::replace(), ApiResult::reset(), MediaWiki\Session\SessionBackend::save(), DummyContentForTesting::serialize(), DummyNonTextContent::serialize(), LCStoreStaticArray::set(), QuickTemplate::set(), LinkBatch::setArray(), ReplacementArray::setArray(), ReplacementArray::setPair(), QuickTemplate::setRef(), WebRequest::setVal(), LCStoreStaticArray::startWrite(), QuickTemplate::text(), LocalisationCacheBulkLoad::trimCache(), LocalisationCache::unload(), WebRequest::unsetVal(), and StripState::unstripType().

◆ integrated

This document describes the state of Postgres support in and is fairly well maintained The main code is very well integrated

Definition at line 8 of file postgres.txt.

◆ life

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of life
Initial value:
== Database schema ==
Postgres has its own schema file at maintenance/postgres/tables.sql.
The goal is to keep this file as close as possible to the canonical
schema at maintenance/tables.sql
This document is intended to provide useful advice for parties seeking to redistribute MediaWiki to end users It s targeted particularly at maintainers for Linux since it s been observed that distribution packages of MediaWiki often break We ve consistently had to recommend that users seeking support use official tarballs instead of their distribution s and this often solves whatever problem the user is having It would be nice if this could such as
this hook is for auditing only RecentChangesLinked and Watchlist Do not use this to implement individual filters if they are compatible with the ChangesListFilter and ChangesListFilterGroup structure use sub classes of those in conjunction with the ChangesListSpecialPageStructuredFilters hook This hook can be used to implement filters that do not implement that or custom behavior that is not an individual filter e g Watchlist and Watchlist you will want to construct new ChangesListBooleanFilter or ChangesListStringOptionsFilter objects When constructing you specify which group they belong to You can reuse existing or create your own(ChangesListBooleanFilterGroup or ChangesListStringOptionsFilterGroup). If you create new groups
Using a hook running we can avoid having all this option specific stuff in our mainline code Using the function We ve cleaned up the code here by removing clumps of infrequently used code and moving them off somewhere else It s much easier for someone working with this code to see what s _really_ going and make changes or fix bugs In we can take all the code that deals with the little used title reversing we can concentrate it all in an extension file
Definition hooks.txt:106
This document provides an overview of the usage of PageUpdater and that is
In both all secondary updates will be triggered handle like object that caches derived data representing a and can trigger updates of cached copies of that e g in the links tables

Definition at line 18 of file postgres.txt.

◆ MediaWiki

the array calling protocol came about after MediaWiki
Initial value:
== Overview ==
Support for PostgreSQL has been available since version 1.7
globals txt Globals are evil The original MediaWiki code relied on globals for processing context far too often MediaWiki development since then has been a story of slowly moving context out of global variables and into objects Storing processing context in object member variables allows those objects to be reused in a much more flexible way Consider the elegance of
database rows
Definition globals.txt:10
Prior to version
A helper class for throttling authentication attempts.

Definition at line 1 of file postgres.txt.

◆ SMALLINT

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around* Although Postgres has a true BOOLEAN boolean columns are always mapped to SMALLINT

Definition at line 37 of file postgres.txt.

◆ Still

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss Still

Definition at line 9 of file postgres.txt.

◆ support

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres support
Initial value:
== Required versions ==
The current minimum version of PostgreSQL for MediaWiki is 8.1.
It is expected that this will be raised to 8.3 at some point
</td >< td > &</td >< td > t want your writing to be edited mercilessly and redistributed at will
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global then executing the whole list after the page is displayed We don t do anything smart like collating updates to the same table or such because the list is almost always going to have just one item on if that
Definition deferred.txt:13

Definition at line 11 of file postgres.txt.

◆ type

This document describes the state of Postgres support in and is fairly well maintained The main code is very well while extensions are very hit and miss it is probably the most supported database after MySQL Much of the work in making MediaWiki database agnostic came about through the work of creating Postgres as and are nearing end of but without copying over all the usage comments General notes on the but these can almost always be programmed around* Although Postgres has a true BOOLEAN type

Definition at line 36 of file postgres.txt.

Referenced by Exif::__construct(), ProtectedPagesPager::__construct(), ChangesFeed::__construct(), SearchIndexFieldDefinition::__construct(), PoolCounterWork::__construct(), LogPage::__construct(), ManualLogEntry::__construct(), JobSpecification::__construct(), Site::__construct(), JSNode::__construct(), MediaWiki\Auth\Throttler::__construct(), MediaWiki\Widget\DateTimeInputWidget::__construct(), ChangesListFilterGroup::__construct(), JobQueue::__construct(), LogPage::addEntry(), JobQueue::batchPush(), JobQueueDB::claimOldest(), JobQueueDB::claimRandom(), MediaWiki\Auth\Throttler::clear(), JobQueueDB::doAck(), JobQueueRedis::doAck(), JobQueueRedis::doBatchPush(), JobQueueDB::doBatchPushInternal(), JobQueueDB::doDelete(), JobQueueMemory::doDelete(), JobQueueDB::doIsEmpty(), JobQueueDB::doPop(), JobQueueRedis::doPop(), JobQueueRedis::encodeQueueName(), ChangesFeed::execute(), SpecialUnblock::execute(), SkinFallbackTemplate::execute(), UpdateLogging::execute(), JSParser::Expression(), JobQueueDB::getCacheKey(), LogPage::getDescription(), MediaWiki\Widget\DateTimeInputWidget::getInputElement(), File::getIsSafeFileUncached(), RedisLockManager::getLocksOnServer(), LogPage::getName(), ProtectedPagesPager::getQueryInfo(), JobQueueMemory::getQueueData(), Block::getRangeEnd(), Block::getRangeStart(), LogPage::getRestriction(), JobQueue::getRootJobCacheKey(), MediaWiki\Auth\Throttler::increase(), SearchIndexFieldDefinition::merge(), Block::newLoad(), JobQueue::pop(), JobQueueDB::recycleAndDeleteStaleJobs(), LogPage::saveContent(), SpecialBlock::setParameter(), Block::setTarget(), WikiRevision::setType(), LogEventsList::showLogExtract(), and JSParser::Statement().