update page now

Funções PostgreSQL

Notas

Nota:

Nem todas as funções são suportadas por todas as compilações. Isso vai depender da versão da libpq (A interface cliente em C para PostgreSQL) e como esta foi compilada. Se há alguma função ausente, é porque a libpq não suporta a característica exigida por esta função.

Nota:

A maioria das funções do PostgreSQL aceita connection como o primeiro parâmetro opcional. Se ele não é fornecido, a última conexão aberta é usada. Se não existir, a função retorna false.

Nota:

PostgreSQL automaticamente converte todos identificadores (e.g. nomes de tabela/coluna) para minúsculo na criação do objeto e na query. Para força o uso misto de maiúsculo ou minúsculo, você precisa usar escape no identificador usando aspas dupla ("").

Nota:

PostgreSQL não tem comandos especiais para obter informação dos dados do banco de dados (dicionário de dados) (eg. todas as tabelas do banco de dados atual). Ao invés, há um schema padrão chamado information_schema no PostgreSQL 7.4 e superior contendo views do sistema com todas as informações necessárias, em um form fácil de acessá-las. Veja a » Documentação do PostgreSQL para maiores detalhes.

Índice

adicionar nota

Notas de Usuários 3 notes

up
6
Tony Murray
13 years ago
A simple conversion for 1D PostgreSQL array data:

// =====
//Example #1 (An array of IP addresses):
<?php
  $pgsqlArr = '{192.168.1.1,10.1.1.1}';

  preg_match('/^{(.*)}$/', $pgsqlArr, $matches);
  $phpArr = str_getcsv($matches[1]);

  print_r($phpArr);
}
// Output:
// Array
// (
//    [0] => 192.168.1.1
//    [1] => 10.1.1.1
// )
// =====

// =====
// Example #2 (An array of strings including spaces and commas):
<?php
  $pgsqlArr = '{string1,string2,"string,3","string 4"}';

  preg_match('/^{(.*)}$/', $pgsqlArr, $matches);
  $phpArr = str_getcsv($matches[1]);

  print_r($phpArr);
}
// Output:
// Array
// (
//    [0] => string1
//    [1] => string2
//    [2] => string,3
//    [3] => string 4
// )
// =====
up
3
abondi at ijk dot it
21 years ago
I've found another function to mimic the following mysql list tables function (http://www.php.net/manual/en/function.mysql-list-tables.php) that's more useful for my target:

function pg_list_tables() {
      $sql = "SELECT a.relname AS Name
          FROM pg_class a, pg_user b
          WHERE ( relkind = 'r') and relname !~ '^pg_' AND relname !~ '^sql_'
          AND relname !~ '^xin[vx][0-9]+' AND b.usesysid = a.relowner
          AND NOT (EXISTS (SELECT viewname FROM pg_views WHERE viewname=a.relname));";
      return(pg_query($conn, $sql));
}
up
1
daniel at bichara dot com dot br
23 years ago
Running RedHat Linux and Apache with suexec enabled you must include pgsql.so on each .php file using dl("pgsql.so") and remove "extension=pgsql.so" from php.ini, otherwise Apache (httpd) will not start.
To Top