database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Tutorials 3820 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 3820
Freeware PostgreSQL/iX for HP e3000 MPE
작성자
정재익(advance)
작성일
2001-12-30 13:18
조회수
4,845

HP e3000 MPE/iX 홈페이지 : http://www.hp.com/go/e3000

PostgreSQL 홈페이지 : http://www.postgresql.org/

 

System Requirements

 

1. MPE/iX 6.0 또는 그 이후 버전. bixby.org 를 참조하기 바란다. 현재 일차적인 개발 플랫폼은 6.5를 사용하고 있다.

2. 소스를 컴파일하고자 한다면 GNU gcc 도 필요하다. bixby.org 에서는 gcc v 2.95.2 를 사용하고 있다.

 

PostgreSQL/iX 를 어떻게 얻을 것인가?

 

PostgreSQL 을 FTP.ARPA.SYS 또는 다른 곳에서 다운로드 받는다.

 

설치 script 를 추출해 낸다.

설치 script 를 편집한다.

설치 script 를 실행한다.

 

Download PostgreSQL using FTP.ARPA.SYS from your HP e3000 (the preferred method).....

 

:HELLO MANAGER.SYS

:XEQ FTP.ARPA.SYS

open ftp.bixby.org

anonymous

your@email.address

bytestream

cd /pub/mpe

get postgresql-7.1.2-mpe.tar.Z /tmp/postgresql.tar.Z;disc=2147483647

exit

 

.....또는 다른 웹 또는 FTP 사이트로 부터 다운로드 받는다. (또 다른 방법)

 

다음 파일들을 다운로드 받는다. (make sure that you use "binary mode" or whatever client feature that is 8-bit clean):

PostgreSQL from http://www.bixby.org/ftp/pub/mpe/postgresql-7.1.2-mpe.tar.Z or ftp://ftp.bixby.org/pub/mpe/postgresql-7.1.2-mpe.tar.Z

Upload those files to your HP e3000 in an 8-bit clean bytestream manner to:

/tmp/postgresql.tar.Z

 

설치 script 추출하기 (after both download methods)

:CHDIR /tmp

:XEQ TAR.HPBIN.SYS 'xvfopz /tmp/postgresql.tar.Z INSTALL'

 

설치 script 편집하기

Examine the accounting structure creation commands and modify if necessary (adding additional capabilities, choosing a non-system volume set, etc).

:XEQ VI.HPBIN.SYS /tmp/INSTALL

 

설치 script 편집하기

The POSTGRES accounting structure will be created and then all files will be extracted from the archive.

:XEQ SH.HPBIN.SYS /tmp/INSTALL

 

The New bixby.org Freeware Distribution Architecture

 

The Old Scheme (never used with PostgreSQL)

만약 없다면 MPE 계정과 PUB 그룹을 생성한다; 기존의 객체는 속성을 변경해야 한다. 모든 파일들은 PUB 그룹 아래로 추출한다.

 

사용자는 bixby.org 의 변경되지 않은 파일들을 같은 디렉토리 내에 있는 configuration 파일이나 또는 job stream 등과 같은 파일들을 개별적으로 customize 시켜 줘야 한다. 이러한 개인적인 변경과정은 상당히 어려울 수도 있다.

 

새로운 배포판들은 이전판의 이런 파일들을 겹쳐 쓴 것들이다. 만약 여러분들이 문제가 있어서 이전 버전으로 변경하고자 한다면 전체 계정을 모두 복구 시키면 된다.

 

The New Scheme

 

MPE 계정, PUB 그룹, 그리고 version-specific group Vvvuuffp (version, update, fix, patchlevel) 들이 만약 존재하지 않는다면 새로 생성한다. 기존의 객체들은 그들의 속성이 변경될 것이다. Archive 내에 있는 모든 파일들은 version-specific 그룹 아래에 추출될 것이다.

설치 스크립트는 CURRENT 라는 이름의 현재 버전에 대한 symlink 를 생성할 것이다. 이것은 실제적인 version-specific 그룹을 가르키게 될거이다. 즉 :

    cd /ACCOUNT
    ln -s Vvvuuffp CURRENT

 

Next, the installation script will create possibly multiple symlinks below the PUB group that point indirectly via the CURRENT symlink into the version-specific group, i.e.:

    cd /ACCOUNT/PUB
    ln -s ../CURRENT/bin bin

These indirect symlinks allow old-scheme filename references to continue to work, and should always be used when referring to objects in the version-specific group in order to permit easy upgrading or backdating. For example, instead of preferring to /ACCOUNT/Vvvuuffp/bin/someprogram, use /ACCOUNT/PUB/bin/someprogram. When you upgrade or backdate, the symlink-based filenames will point to files of the proper version as determined by the single CURRENT symlink.

The installation script is conservative when creating symlinks. If the intended name already exists as a symlink, the old symlink is removed, and the new symlink is created. If the intended name already exists as a non-symlink, the old object is renamed with a .bak extension, and the new symlink is created.

 

Finally, the installation script will create various files and directories below the PUB group that are intended for user customization. You should only modify or add files below the PUB group, and NEVER below the version-specific group! The version-specific group is intended to contain only unmodified files and directories as distributed by bixby.org. The PUB group is the proper place for user-customizations.

 

If you are performing an upgrade, the previous version-specific group IS NOT PURGED. If you encounter problems with the new version and want to backdate, simply purge the CURRENT symlink and recreate it so that it points to the previous version-specific group. If you are satisified with the new version, you will want to manually do a :PURGEGROUP on the previous version-specific group to remove it from your machine.

 

Key Benefits of the New Scheme

 

Multiple versions can exist on the same machine in the same account, allowing for worry-free upgrading and backdating.

User-customized data is kept segregated in the PUB group away from the bixby.org data in the version-specific group.

Please let me know what you think about this new scheme because I plan to use it for other bixby.org software releases. If this scheme is well-received, it may even show up in HP CSY Internet & Interoperability products.

 

Distribution Highlights

 

/POSTGRES/

The MPE account for the freeware version of PostgreSQL/iX.

CURRENT/

Symlink pointing to the V0701020/ version-specific group.

PUB/

MPE group containing user-customizable stuff.

.profile

Suggested account shell profile pointing to ../CURRENT/etc/profile.

public_html/

.htaccess

Modified to include Options +Indexes.

doc

Symlink pointing to ../../CURRENT/doc.

V0701020/

MPE group containing files and directories distributed by bixby.org. DO NOT MODIFY ANYTHING IN THIS DIRECTORY TREE! If you need to customize, please copy files to the PUB group and customize there.

INSTALL

the one-time installation script you ran above

JBIGTEST

Sample job stream for running the big, monsterous regression tests. Requires initdb to be run previously to create the database directory tree and a postmaster to already be running. WARNING: this takes 6 hours to run on a 989-400.

JPARTEST

Sample job stream for running the parallel regression tests. Requires initdb to be run previously to create the database directory tree and a postmaster to already be running.

JPOSTMST

Sample job stream for starting the postmaster server daemon.

JSERTEST

Sample job stream for running the serial regression tests. Requires initdb to be run previously to create the database directory tree and a postmaster to already be running.

README

what you're reading now

bin/

All of the PostgreSQL executable scripts and programs, including the postmaster daemon and the psql client.

doc/

Extensive HTML documentation accessible via http://yourhost/~MGR.POSTGRES/doc.

etc/

postmaster.pid

The POSIX pid of the postmaster daemon as started by the JPOSTMST job.

profile

Sets various PostgreSQL environment variables to default values and adds stuff to the POSIX PATH.

include/

Compile-time header files required by the various PostgreSQL API libraries.

man/

Man page documentation for the command line utilities and psql statements.

lib/

Various API libraries, including run-time extensions dynamically loaded by the postmaster daemon.

mpebin/

Various scripts used to build PostgreSQL/iX from source on MPE.

src/

Source tree.

[/pre]

--------------------------------------------------------------------------------

 

How to Compile PostgreSQL (optional)

The current MPE build environment relies upon a new feature of ld v0.16 in order to convenient check for unresolved external references. This feature is enabled by setting the AUTOCONF environment variable to 1, which is done inside of the configure.mpe script.

Unfortunately at the time of this writing, ld v0.16 is not yet available as part of the GNU gcc bundle on jazz. However, a workaround exists if you use /usr/local/bin/autoconf from the GNU gcc bundle on jazz to regenerate the vanilla PostgreSQL configure script from the configure.in template. The regenerated script will then be able to detect unresolved external references.

 

 

:HELLO MGR.POSTGRES,V0701020

:XEQ SH.HPBIN.SYS -L

cd src/postgresql-7.1.2-mpe

# regenerate configure from configure.in here if you lack ld v0.16

configure.mpe

make

make install

 

 

 

 

--------------------------------------------------------------------------------

 

How to Create the Database Directory Tree

:HELLO MGR.POSTGRES,PUB

:XEQ SH.HPBIN.SYS -L

mkdir data

initdb

 

--------------------------------------------------------------------------------

 

How to Start the PostgreSQL Postmaster Daemon

:STREAM JPOSTMST.CURRENT.POSTGRES

 

 

 

 

--------------------------------------------------------------------------------

 

How to Use PostgreSQL

 

I have no idea. Really.

I had no prior experience with PostgreSQL when I starting porting it to MPE. The only stuff I know about it is how to:

 

 

compile it

install it

create the database directory tree with the initdb command line utility

run the regression tests

execute SQL commands with the psql command line utility

 

For information on how to use PostgreSQL, please consult your local HTML documentation, your local man pages, or http://www.postgresql.org/.

 

For ODBC driver information, see ftp://ftp.postgresql.org/pub/odbc/index.html.

 

For JDBC driver information, see http://jdbc.postgresql.org/.

 

If you're unable to find the answers to your questions from the above resources, your next step should be a public posting to the HP3000-L mailing list or the Usenet newsgroup comp.sys.hp.mpe. I will respond if your question is related to any MPE porting issues within PostgreSQL, and if you're asking general PostgreSQL how-to type questions, hopefully other members of the MPE community who have PostgreSQL experience from other platforms will be able to respond.

 

--------------------------------------------------------------------------------

 

How to Shut Down the PostgreSQL Postmaster Daemon

The postmaster uses System V shared memory and semaphore structures that are only cleaned up properly by a controlled shutdown. If you do not shut down cleanly (i.e. :ABORTJOB), the next run of the postmaster may behave strangely. To manually clean up shared memory and semaphores, use the :IPCS command to display these data structures, and :IPCRM to remove them.

Steps for doing a controlled shutdown of the postmaster:

 

 

:XEQ SH.HPBIN.SYS -L

kill $(cat /POSTGRES/CURRENT/etc/postmaster.pid)

 

 

 

 

--------------------------------------------------------------------------------

 

MPE/iX Implementation Considerations

 

Because only AF_INET sockets are supported at initial release, you generally need to invoke most PostgreSQL command line clients with "-h localhost" parameters in order to talk to your local postmaster.

MPE lacks a SIGWINCH signal, so the postmaster debugging functionality triggered by this signal is unavailable on MPE.

Triggers and procedure code written in Perl are not supported at initial release.

 

SSL is not supported at initial release.

Unless otherwise used by the regression tests, the various PostgreSQL programming API libraries and SQL pre-processor are completely untested.

You will get compiler errors if the configure script sees the libbsd library from http://jazz.external.hp.com/src/bsd/libbsd.html. This library is deprecated and should no longer be used; please use the Porting Wrappers from http://jazz.external.hp.com/src/px_wrappers/index.html instead. If you absolutely must retain libbsd on your machine, please rename it to a location where the configure script won't find it. Note that PostgreSQL does NOT require either libbsd or the Porting Wrappers in order to compile.

 

 

--------------------------------------------------------------------------------

 

Known Bugs Under Investigation

AF_UNIX sockets for postmaster and client don't work at initial release. Use standard Internet AF_INET sockets instead.

The Makefile relationships between src/backend/port/mpeix and the upper levels aren't quite right, with dependencies and targets not always behaving properly. If you have already done a build and then edit the MPE stuff and rebuild, check closely to make sure stuff is relinked with your MPE changes. If this didn't happen, purge src/backend/port/SUBSYS.o and rerun the make.

I've seen sporadic transient errors of varying types in varying tests of the parallel regression suite. But there are plenty of times when the parallel suite runs to completion without any errors.

 

 

 

 

--------------------------------------------------------------------------------

 

To-Do List

Submit MPE diffs back to postgresql.org.

 

 

 

 

--------------------------------------------------------------------------------

 

Change History

March 7, 2001

Porting begins.

[Top]
No.
제목
작성자
작성일
조회
3844PL/pgSQL - SQL procedural language (1)
정재익
2002-01-07
9192
3831부분 인덱스 사용법
정재익
2002-01-01
6239
3822Quick HOWTO - connecting StarOffice Win or Lin to PostGreSQL using ODBC
정재익
2001-12-30
5436
3820Freeware PostgreSQL/iX for HP e3000 MPE
정재익
2001-12-30
4845
3817PostgreSQL FAQ - Sun Solaris specific
정재익
2001-12-29
4478
3816PostgreSQL Install FAQ
정재익
2001-12-29
6363
3794PostgreSQL Lecture
정재익
2001-12-27
6046
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다