Files
archived-doc-pt-br/reference/pgsql/examples.xml
2024-11-19 18:21:04 -03:00

145 lines
3.5 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: aa2e1accf0888a290a76b9193844d0d7b7bd40b8 Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,leonardolara -->
<chapter xml:id="pgsql.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.examples;
<section xml:id="pgsql.examples-basic">
<title>Uso básico</title>
<para>
Este exemplo simples mostra como conectar, executar uma consulta, mostrar
linhas de resultados e desconectar de um banco de dados PostgreSQL.
<example>
<title>Exemplo geral da extensão PostgreSQL</title>
<programlisting role="php">
<![CDATA[
<?php
// Connectando, selectionando o banco
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
or die('Não foi possível conectar: ' . pg_last_error());
// Executando consulta SQL
$query = 'SELECT * FROM authors';
$result = pg_query($dbconn, $query) or die('A consulta falhou: ' . pg_last_error());
// Exibindo resultados em HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// Liberando o conjunto de resultados
pg_free_result($result);
// Fechando a conexão
pg_close($dbconn);
?>
]]>
</programlisting>
</example>
</para>
</section>
<section xml:id="pgsql.examples-queries">
<title>Basic usage</title>
<para>
Estes exemplos contêm funções definidas pelo usuário similares às funções legadas
do MySQL.
<example>
<title>Exemplo de funções definidas pelo usuário no PostgreSQL</title>
<programlisting role="php">
<![CDATA[
<?php
// Este função deve ser necessária, já que o a conexão PostgreSQL vincula o banco de dados.
function pg_list_dbs($db)
{
assert(is_resource($db));
$query = '
SELECT
d.datname as "Name",
u.usename as "Owner",
pg_encoding_to_char(d.encoding) as "Encoding"
FROM
pg_database d LEFT JOIN pg_user u ON d.datdba = u.usesysid
ORDER BY 1;
';
return pg_query($db, $query);
}
// Lista tabelas.
function pg_list_tables($db)
{
assert(is_resource($db));
$query = "
SELECT
c.relname as \"Name\",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as \"Type\",
u.usename as \"Owner\"
FROM
pg_class c LEFT JOIN pg_user u ON c.relowner = u.usesysid
WHERE
c.relkind IN ('r','v','S','')
AND c.relname !~ '^pg_'
ORDER BY 1;
";
return pg_query($db, $query);
}
// Veja também pg_meta_data(). Ela retorna definições de campo em um array.
function pg_list_fields($db, $table)
{
assert(is_resource($db));
$query = "
SELECT
a.attname,
format_type(a.atttypid, a.atttypmod),
a.attnotnull,
a.atthasdef,
a.attnum
FROM
pg_class c,
pg_attribute a
WHERE
c.relname = '".$table."'
AND a.attnum > 0 AND a.attrelid = c.oid
ORDER BY a.attnum;
";
return pg_query($db, $query);
}
?>
]]>
</programlisting>
</example>
</para>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->