Postgresql 7.1 Programmer's Guide

Total Page:16

File Type:pdf, Size:1020Kb

Postgresql 7.1 Programmer's Guide PostgreSQL 7.1 Programmer's Guide The PostgreSQL Global Development Group PostgreSQL 7.1 Programmer's Guide by The PostgreSQL Global Development Group Copyright © 1996-2001 by PostgreSQL Global Development Group Legal Notice PostgreSQL is Copyright © 1996-2001 by the PostgreSQL Global Development Group and is distributed under the terms of the license of the University of California below. Postgres95 is Copyright © 1994-5 by the Regents of the University of California. Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies. IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS-IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTAINANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. Table of Contents Table of Contents . i List of Tables . ii List of Figures . iii List of Examples . iv Preface . i 1. What is PostgreSQL? . i 2. A Short History of Postgres . i 3. Documentation Resources. iii 4. Terminology and Notation . v 5. Bug Reporting Guidelines. v 6. Y2K Statement. viii Organization . x Chapter 1. libpq - C Library . 1 1.1. Database Connection Functions . 1 1.2. Query Execution Functions . 7 1.3. Asynchronous Query Processing . 11 1.4. Fast Path . 14 1.5. Asynchronous Notification. 14 1.6. Functions Associated with the COPY Command. 15 1.7. libpq Tracing Functions . 17 1.8. libpq Control Functions . 17 1.9. Environment Variables . 18 1.10. Threading Behavior . 19 1.11. Example Programs . 19 Chapter 2. Large Objects . 28 2.1. Historical Note . 28 2.2. Implementation Features . 28 2.3. Interfaces . 28 2.4. Built in registered functions. 30 2.5. Accessing Large Objects from LIBPQ . 31 2.6. Sample Program . 31 Chapter 3. libpq++ - C++ Binding Library. 37 3.1. Control and Initialization. 37 3.2. libpq++ Classes . 38 3.3. Database Connection Functions . 38 3.4. Query Execution Functions . 39 3.5. Asynchronous Notification. 43 3.6. Functions Associated with the COPY Command. 43 Chapter 4. pgtcl - TCL Binding Library. 45 4.1. Commands. 45 4.2. Examples . 46 4.3. pgtcl Command Reference Information . 47 pg_connect . 47 pg_disconnect . 48 pg_conndefaults . 49 pg_exec . 50 pg_result . 51 pg_select . 53 i pg_listen . 54 pg_lo_creat . 55 pg_lo_open . 56 pg_lo_close . 57 pg_lo_read . 57 pg_lo_write . ..
Recommended publications
  • Delivering Oracle Compatibility
    DELIVERING ORACLE COMPATIBILITY A White Paper by EnterpriseDB www.EnterpriseDB.com TABLE OF CONTENTS Executive Summary 4 Introducing EnterpriseDB Advanced Server 6 SQL Compatibility 6 PL/SQL Compatibility 9 Data Dictionary Views 11 Programming Flexibility and Drivers 12 Transfer Tools 12 Database Replication 13 Enterprise-Class Reliability and Scalability 13 Oracle-Like Tools 14 Conclusion 15 Downloading EnterpriseDB 15 EnterpriseDB EXECUTIVE SUMMARY Enterprises running Oracle® are generally interested in alternative databases for at least three reasons. First, these enterprises are experiencing budget constraints and need to lower their database Total Cost of Ownership (TCO). Second, they are trying to gain greater licensing flexibility to become more agile within the company and in the larger market. Finally, they are actively pursuing vendors who will provide superior technical support and a richer customer experience. And, subsequently, enterprises are looking for a solution that will complement their existing infrastructure and skills. The traditional database vendors have been unable to provide the combination of all three benefits. While Microsoft SQL ServerTM and IBM DB2TM may provide the flexibility and rich customer experience, they cannot significantly reduce TCO. Open source databases, on the other hand, can provide the TCO benefits and the flexibility. However, these open source databases either lack the enterprise-class features that today’s mission critical applications require or they are not equipped to provide the enterprise-class support required by these organizations. Finally, none of the databases mentioned above provide the database compatibility and interoperability that complements their existing applications and staff. The fear of the costs of changing databases, including costs related to application re-coding and personnel re-training, outweigh the expected savings and, therefore, these enterprises remain paralyzed and locked into Oracle.
    [Show full text]
  • Sql Server to Aurora Postgresql Migration Playbook
    Microsoft SQL Server To Amazon Aurora with Post- greSQL Compatibility Migration Playbook 1.0 Preliminary September 2018 © 2018 Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This document is provided for informational purposes only. It represents AWS’s current product offer- ings and practices as of the date of issue of this document, which are subject to change without notice. Customers are responsible for making their own independent assessment of the information in this document and any use of AWS’s products or services, each of which is provided “as is” without war- ranty of any kind, whether express or implied. This document does not create any warranties, rep- resentations, contractual commitments, conditions or assurances from AWS, its affiliates, suppliers or licensors. The responsibilities and liabilities of AWS to its customers are controlled by AWS agree- ments, and this document is not part of, nor does it modify, any agreement between AWS and its cus- tomers. - 2 - Table of Contents Introduction 9 Tables of Feature Compatibility 12 AWS Schema and Data Migration Tools 20 AWS Schema Conversion Tool (SCT) 21 Overview 21 Migrating a Database 21 SCT Action Code Index 31 Creating Tables 32 Data Types 32 Collations 33 PIVOT and UNPIVOT 33 TOP and FETCH 34 Cursors 34 Flow Control 35 Transaction Isolation 35 Stored Procedures 36 Triggers 36 MERGE 37 Query hints and plan guides 37 Full Text Search 38 Indexes 38 Partitioning 39 Backup 40 SQL Server Mail 40 SQL Server Agent 41 Service Broker 41 XML 42 Constraints
    [Show full text]
  • Modèle Bull 2009 Blanc Fr
    CNAF PostgreSQL project Philippe BEAUDOIN, Project leader [email protected] 2010, Dec 7 CNAF - Caisse Nationale des Allocations Familiales - Key organization of the French social security system - Distributes benefits to help - Families - Poor people - 123 CAF (local organizations) all over France - 11 million families and 30 million people - 69 billion € in benefits distributed (2008) 2 ©Bull, 2010 CNAF PostgreSQL project The project … in a few clicks GCOS 8 GCOS 8 CRISTAL SDP CRISTAL SDP (Cobol) (Cobol) (Cobol) (Cobol) DBSP RFM-II RHEL-LINUX PostgreSQL Bull - NovaScale 9000 servers (mainframes) 3 ©Bull, 2010 CNAF PostgreSQL project DBSP GCOS 8 CRISTAL SDP (Cobol) (Cobol) InfiniBand link LINUX S.C. S.C. (c+SQL) (c+SQL) PostgreSQL S.C. = Surrogate Client 4 ©Bull, 2010 CNAF PostgreSQL project CNAF I.S. - CRISTAL + SDP : heart of the Information System - Same application running on Bull (GCOS 8) and IBM (z/OS+DB2) mainframes - Also J2E servers, under AIX, … and a lot of peripheral applications - 6 to 8 CRISTAL versions per year ! 5 ©Bull, 2010 CNAF PostgreSQL project Migration to PostgreSQL project plan - A lot of teams all over France (developers, testers, production,...) - 3 domains - CRISTAL application, SDP application - Infrastructure and production - National project leading CRISTAL Developmt Tests 1 CAF C. Deployment C. PRODUCTION Preparation 1 Depl S SDP Develpmt Tests 9/08 1/09 5/09 9/09 12/09 3/10 6 ©Bull, 2010 CNAF PostgreSQL project How BULL participated to the project - Assistance to project leading - Technical expertise
    [Show full text]
  • Migration to Postgresql - Preparation and Methodology
    Overview Oracle to PostgreSQL Informix to PostgreSQL MySQL to PostgreSQL MSSQL to PostgreSQL Replication and/or High Availability Discussion Migration to PostgreSQL - preparation and methodology Joe Conway, Michael Meskes credativ Group September 14, 2011 Joe Conway, Michael Meskes Postgres Open 2011 Overview Oracle to PostgreSQL Presenters Informix to PostgreSQL Intro MySQL to PostgreSQL Preparation MSSQL to PostgreSQL Conversion Replication and/or High Availability Discussion Joe Conway - Open Source PostgreSQL (and Linux) user since 1999 Community member since 2000 Contributor since 2001 Commiter since 2003 PostgreSQL Features PL/R Set-returning (a.k.a. table) functions feature Improved bytea and array datatypes, index support Polymorphic argument types Multi-row VALUES list capability Original privilege introspection functions pg settings VIEW and related functions dblink, connectby(), crosstab()), generate series() Joe Conway, Michael Meskes Postgres Open 2011 Overview Oracle to PostgreSQL Presenters Informix to PostgreSQL Intro MySQL to PostgreSQL Preparation MSSQL to PostgreSQL Conversion Replication and/or High Availability Discussion Joe Conway - Business Currently President/CEO of credativ USA Previously IT Director of large company Wide variety of experience, closed and open source Full profile: http://www.linkedin.com/in/josepheconway Joe Conway, Michael Meskes Postgres Open 2011 Overview Oracle to PostgreSQL Presenters Informix to PostgreSQL Intro MySQL to PostgreSQL Preparation MSSQL to PostgreSQL Conversion Replication and/or
    [Show full text]
  • Postgresql Programmer's Guide
    PostgreSQL Programmer’s Guide The PostgreSQL Development Team Edited by Thomas Lockhart PostgreSQL Programmer’s Guide by The PostgreSQL Development Team Edited by Thomas Lockhart PostgreSQL is Copyright © 1996-9 by the Postgres Global Development Group. Table of Contents Summary......................................................................................................................................i 1. Introduction ............................................................................................................................1 Resources............................................................................................................................1 Terminology........................................................................................................................2 Notation ..............................................................................................................................3 Y2K Statement....................................................................................................................3 Copyrights and Trademarks................................................................................................4 2. Architecture ............................................................................................................................5 Postgres Architectural Concepts .........................................................................................5 3. Extending SQL: An Overview...............................................................................................7
    [Show full text]
  • Pivotal™ Greenplum Database® Version 4.3
    PRODUCT DOCUMENTATION Pivotal™ Greenplum Database® Version 4.3 Reference Guide Rev: A10 © 2015 Pivotal Software, Inc. Copyright Reference Guide Notice Copyright Copyright © 2015 Pivotal Software, Inc. All rights reserved. Pivotal Software, Inc. believes the information in this publication is accurate as of its publication date. The information is subject to change without notice. THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS." PIVOTAL SOFTWARE, INC. ("Pivotal") MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Use, copying, and distribution of any Pivotal software described in this publication requires an applicable software license. All trademarks used herein are the property of Pivotal or their respective owners. Revised July 2015 (4.3.5.3) 2 Contents Reference Guide Contents Chapter 1: Preface.....................................................................................10 About This Guide.............................................................................................................................. 11 About the Greenplum Database Documentation Set........................................................................12 Document Conventions..................................................................................................................... 13 Command Syntax Conventions.............................................................................................
    [Show full text]
  • Installation and Setup Guide for Client
    FUJITSU Enterprise Postgres 10 Installation and Setup Guide for Client Windows/Linux J2UL-2378-01ENZ0(00) August 2018 Preface Purpose of this document This document describes how to install and set up the "FUJITSU Enterprise Postgres client feature". Intended readers This document is intended for those who install and operate FUJITSU Enterprise Postgres. Readers of this document are assumed to have general knowledge of: - PostgreSQL - SQL - Windows - PostgreSQL - SQL - Linux Structure of this document This document is structured as follows: Chapter 1 Overview of Installation Describes the features that can be installed, and provides an overview of installation methods Chapter 2 Installation and Uninstallation of the Windows Client Describes how to install the FUJITSU Enterprise Postgres client feature (Windows client) Chapter 3 Installation and Uninstallation of the Linux Client Describes how to install the FUJITSU Enterprise Postgres client feature (Linux client) Chapter 4 Setup Describes the setup procedures to be performed after installation completes Export restrictions Exportation/release of this document may require necessary procedures in accordance with the regulations of your resident country and/or US export control laws. Issue date and version Edition 1.0: August 2018 Copyright Copyright 2015-2018 FUJITSU LIMITED - i - Contents Chapter 1 Overview of Installation............................................................................................................................................1 1.1 Features that can be
    [Show full text]
  • Postgresql Server Programming Second Edition Table of Contents
    PostgreSQL Server Programming Second Edition Table of Contents PostgreSQL Server Programming Second Edition Credits About the Authors About the Reviewers www.PacktPub.com Support files, eBooks, discount offers, and more Why subscribe? Free access for Packt account holders Preface What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support Downloading the example code Errata Piracy Questions 1. What Is a PostgreSQL Server? Why program in the server? Using PL/pgSQL for integrity checks About this book’s code examples Switching to the expanded display Moving beyond simple functions Data comparisons using operators Managing related data with triggers Auditing changes Data cleaning Custom sort orders Programming best practices KISS – keep it simple stupid DRY – don’t repeat yourself YAGNI – you ain’t gonna need it SOA – service-oriented architecture Type extensibility Caching Wrapping up – why program in the server? Performance Ease of maintenance Improved productivity Simple ways to tighten security Summary 2. Server Programming Environments Cost of acquisition Availability of developers Licensing Predictability Community Procedural languages Third-party tools Platform compatibility Application design Databases are considered harmful Encapsulation What does PostgreSQL offer? Data locality More basics Transactions General error reporting and error handling User-defined functions Other parameters More control Summary 3. Your First PL/pgSQL Function Why PL/pgSQL? The structure of a PL/pgSQL
    [Show full text]
  • Databases Theoretical Introduction Contents
    Databases Theoretical Introduction Contents 1 Databases 1 1.1 Database ................................................ 1 1.1.1 Terminology and overview .................................. 1 1.1.2 Applications .......................................... 2 1.1.3 General-purpose and special-purpose DBMSs ........................ 2 1.1.4 History ............................................ 2 1.1.5 Research ........................................... 6 1.1.6 Examples ........................................... 6 1.1.7 Design and modeling ..................................... 7 1.1.8 Languages ........................................... 9 1.1.9 Performance, security, and availability ............................ 10 1.1.10 See also ............................................ 12 1.1.11 References .......................................... 12 1.1.12 Further reading ........................................ 13 1.1.13 External links ......................................... 14 1.2 Schema migration ........................................... 14 1.2.1 Risks and Benefits ...................................... 14 1.2.2 Schema migration in agile software development ...................... 14 1.2.3 Available Tools ........................................ 15 1.2.4 References .......................................... 15 1.3 Star schema .............................................. 16 1.3.1 Model ............................................ 16 1.3.2 Benefits ............................................ 16 1.3.3 Disadvantages .......................................
    [Show full text]
  • All Installed Packages .PDF
    Emperor-OS All Installed Package Editor: Hussein Seilany [email protected] www.Emperor-OS.com Emperor-has 5 package management system for installing, upgrading, configuring, and removing software. Also providing access over 60,000 software packages of Ubuntu. We per-installed several tools are available for interacting with Emperor's package management system. You can use simple command-line utilities to a graphical tools. Emperor-OS's package management system is derived from the same system used by the Ubuntu GNU/Linux distribution. We will show you the list of installed packages on Emperor-OS. The packages lists is long. Having a list of installed packages helps system administrators maintain, replicate, and reinstall Emperor-OS systems. Emperor-OS Linux systems install dependencies all the time, hence it is essential to know what is on the system. In this page you can find a specific package and python modules is installed, count installed packages and find out the version of an installed package. Download lists as PDF file or see them as html page in the following: Are you looking for all in one operating system? 70 Packages: Installed Special Packages 120 Tools: Installed Utility 260 Modules: Installed Python2 and 3 Modules 600Fonts: Installed Fonts 5 Desktops: Desktop Manager Packages 22Tools: Extra Development Tools 270 Themes: Installed Themes 40 Icons: Installed Icons 40Games: Installed Games 2533scanners: supports Scanners 2500 Cameras: supports Camera 4338Packages: All Installed Packages 2 [email protected] www.Emperor-OS.com The list installed packages: Emperor-OS Linux is an open source operating system with many utilities.
    [Show full text]
  • Ecpg - Postgresql Embedded SQL/C Precompiler
    ecpg - PostgreSQL Embedded SQL/C Precompiler General - PostgreSQL Version 7.4.8 includes ecpg version 3.1.1 - PostgreSQL Version 8.2.5 includes ecpg version 4.2.1 - supports full ANSI-SQL standard - ecpg does some SQL syntax checking - some statements which show no syntax problems on precompile/compile, may yield a syntax error when executed - “ecpg –version” command displays version info - ecpg is case sensitive - uses “EXEC SQL ...” syntax - character strings in SQL statements are denoted by single quotes (‘) - Infx allowed single or double quotes - character strings in C statements still use double quotes (“) - normal file extension for ecpg file is .pgc - Momjian, Douglas and Schonig books all have short chapters on ecpg Informix Compatibility Mode (" -C INFORMIX" option for ecpg) - allows many of the datetime related functions and data types to be used - note that function dttofmtasc does not work and must be replaced by dttoasc - currently used by HSEB software - in the future, will not use Informix Compatibility Mode AUTO_COMMIT Option (" -t " option for ecpg) - if "-t" option (auto_commit = on) is not specified and a SELECT statement fails, all subsequent SELECT statements will fail - EXEC SQL INSERT example below needs to be followed by COMMIT - if the A-t@ option is specified, then COMMIT is not needed - same for UPDATE and DELETE Opening and Closing a Database In ecpg, to open a connection to a database EXEC SQL CONNECT TO dbname; To close the connection EXEC SQL DISCONNECT dbname; If the application exits without first closing
    [Show full text]
  • Application Development Guide
    FUJITSU Software Symfoware Server V12.1.0 Application Development Guide Windows/Linux J2UL-1738-07ENZ0(00) November 2014 Preface Purpose of this document This is a guide for the developers of Symfoware Server applications. Intended readers This document is intended for developers of applications that use Symfoware Server. Of the interfaces provided by Symfoware Server, this guide describes the PostgreSQL extended interface. Readers of this document are also assumed to have general knowledge of: - PostgreSQL - SQL - Linux - PostgreSQL - SQL - Windows Structure of this document This document is structured as follows: Chapter 1 Overview of the Application Development Function Provides an overview of Symfoware Server application development. Chapter 2 JDBC Driver Explains how to use JDBC drivers. Chapter 3 ODBC Driver Explains how to use ODBC drivers. Chapter 4 .NET Data Provider Explains how to use .NET Data Provider. Chapter 5 C Library (libpq) Explains how to use C applications. Chapter 6 Embedded SQL in C Explains how to use embedded SQL in C. Chapter 7 Embedded SQL in COBOL Explains how to use embedded SQL in COBOL. Chapter 8 SQL References Explains the SQL statements which were extended in Symfoware Server development. Chapter 9 Compatibility with Oracle Databases Explains features that are compatible with Oracle databases. Chapter 10 Java Applications using PL/extJava Explains the development of Java applications using PL/extJava. Chapter 11 Application Connection Switch Feature Explains the application connection switch feature. - i - Chapter 12 Performance Tuning Explains how to tune application performance. Appendix A Precautions when Developing Applications Provides some points to note about application development. Appendix B Conversion Procedures Required due to Differences from Oracle Database Explains how to convert from an Oracle database to Symfoware Server, within the scope noted in "Compatibility with Oracle Databases" from the following perspectives.
    [Show full text]