1<?php 2/* 3** Zabbix 4** Copyright (C) 2001-2021 Zabbix SIA 5** 6** This program is free software; you can redistribute it and/or modify 7** it under the terms of the GNU General Public License as published by 8** the Free Software Foundation; either version 2 of the License, or 9** (at your option) any later version. 10** 11** This program is distributed in the hope that it will be useful, 12** but WITHOUT ANY WARRANTY; without even the implied warranty of 13** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14** GNU General Public License for more details. 15** 16** You should have received a copy of the GNU General Public License 17** along with this program; if not, write to the Free Software 18** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19**/ 20 21 22/** 23 * Database backend class for PostgreSQL. 24 */ 25class PostgresqlDbBackend extends DbBackend { 26 27 /** 28 * Check if 'dbversion' table exists. 29 * 30 * @return bool 31 */ 32 protected function checkDbVersionTable() { 33 global $DB; 34 35 $schema = zbx_dbstr($DB['SCHEMA'] ? $DB['SCHEMA'] : 'public'); 36 37 $tableExists = DBfetch(DBselect('SELECT 1 FROM information_schema.tables'. 38 ' WHERE table_catalog='.zbx_dbstr($DB['DATABASE']). 39 ' AND table_schema='.$schema. 40 " AND table_name='dbversion'" 41 )); 42 43 if (!$tableExists) { 44 $this->setError(_('The frontend does not match Zabbix database.')); 45 return false; 46 } 47 48 return true; 49 } 50} 51