All pages
Powered by GitBook
1 of 5

Loading...

Loading...

Loading...

Loading...

Loading...

H.4. Extensions

PostgreSQL is designed to be easily extensible. For this reason, extensions loaded into the database can function just like features that are built in. The contrib/ directory shipped with the source code contains several extensions, which are described in Appendix F. Other extensions are developed independently, like PostGIS. Even PostgreSQL replication solutions can be developed externally. For example, Slony-I is a popular master/standby replication solution that is developed independently from the core project.

H. 外部專案

PostgreSQL是一個複雜的軟體專案,管理專案是很困難的。而我們發現 PostgreSQL 的許多強化功能可以與核心專案分開進行更高效率的研發。

H.3. Procedural Languages

PostgreSQL includes several procedural languages with the base distribution: PL/pgSQL, PL/Tcl, PL/Perl, and PL/Python.

In addition, there are a number of procedural languages that are developed and maintained outside the core PostgreSQL distribution. Table H.2 lists some of these packages. Note that some of these projects might not be released under the same license as PostgreSQL. For more information on each procedural language, including licensing information, refer to its website and documentation.

Table H.2. Externally Maintained Procedural Languages

Name

Language

Website

PL/Java

Java

https://tada.github.io/pljava/

PL/Lua

Lua

https://github.com/pllua/pllua

PL/R

R

http://www.joeconway.com/plr.html

PL/sh

Unix shell

https://github.com/petere/plsh

PL/v8

JavaScript

https://github.com/plv8/plv8

H.2. Administration Tools

There are several administration tools available for PostgreSQL. The most popular is pgAdmin III, and there are several commercially available ones as well.

H.1. 用戶端介面

There are only two client interfaces included in the base PostgreSQL distribution:

  • libpq is included because it is the primary C language interface, and because many other client interfaces are built on top of it.

  • ECPG is included because it depends on the server-side SQL grammar, and is therefore sensitive to changes in PostgreSQL itself.

All other language interfaces are external projects and are distributed separately. Table H.1 includes a list of some of these projects. Note that some of these packages might not be released under the same license as PostgreSQL. For more information on each language interface, including licensing terms, refer to its website and documentation.

Table H.1. Externally Maintained Client Interfaces

New-style C++ interface

node-postgres

JavaScript

Node.js driver

Npgsql

.NET

.NET data provider

pgtcl

Tcl

pgtclng

Tcl

pq

Go

Pure Go driver for Go's database/sql

psqlODBC

ODBC

ODBC driver

psycopg

Python

DB API 2.0-compliant

Name

Language

Comments

Website

DBD::Pg

Perl

Perl DBI driver

http://search.cpan.org/dist/DBD-Pg/

JDBC

Java

Type 4 JDBC driver

https://jdbc.postgresql.org/

libpqxx

C++

http://pqxx.org/
https://node-postgres.com/
http://www.npgsql.org/
https://github.com/flightaware/Pgtcl
http://sourceforge.net/projects/pgtclng/
https://github.com/lib/pq
https://odbc.postgresql.org/
http://initd.org/psycopg/