MediaWiki REL1_33
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 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 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 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 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 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 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 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 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 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 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 35 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 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 38 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 but without copying over all the usage comments General notes on the conversion

Definition at line 22 of file postgres.txt.

◆ data

array $mLimitReportData Parser limit report ParserOutput::data

Definition at line 37 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(), StripState::addItem(), LinkBatch::constructSet(), JobQueueRedis::doAck(), LinkBatch::doGenderQuery(), ZipDirectoryReader::execute(), BenchUtf8TitleCheck::execute(), QuickTemplate::extend(), Wikimedia\Rdbms\MssqlBlob::fetch(), ExternalStoreForTesting::fetchFromURL(), DummyContentForTesting::fillParserOutput(), LCStoreStaticArray::finishWrite(), LCStoreStaticArray::get(), QuickTemplate::get(), WebRequest::getArray(), ResourceLoaderClientHtml::getData(), BaseTemplate::getFooterLinks(), BaseTemplate::getIndicators(), LocalisationCache::getItem(), DummyContentForTesting::getParserOutput(), 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 7 of file postgres.txt.

◆ MediaWiki

those of us who don t want or need it can just leave it out The extensions don t even have to be shipped with 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 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 31 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 8 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 9.2
== 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 10 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 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 30 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(), 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(), MediaWiki\Widget\DateTimeInputWidget::getInputElement(), File::getIsSafeFileUncached(), RedisLockManager::getLocksOnServer(), ProtectedPagesPager::getQueryInfo(), JobQueueMemory::getQueueData(), Block::getRangeEnd(), Block::getRangeStart(), 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().