ページ更新: 2004-08-07 (土) (4945日前)

関連: Cygwin/PostgreSQL/セットアップ(cygserver版)

Cygwin PostgreSQL 7.4.2-1 の README (/usr/share/doc/Cygwin/postgresql-7.4.2.README)を翻訳(意訳)したもの。
(→Cygwin/PostgreSQL/パッケージ更新情報#postgresql-7.4.2-1)

目次

$Id: README,v 1.52 2004/06/11 13:45:12 jt Exp $

[編集]

概要: #

Abstract:

This is the README for the Cygwin PostgreSQL distribution.

この文書は、Cygwin 版の PostgreSQL の README である。

PostgreSQL is an advanced Object-Relational database management system (DBMS) that supports almost all SQL constructs (including transactions, subselects and user-defined types and functions).

The Cygwin PostgreSQL package is very monolithic compared its RPM counterparts and its contents is roughly analogous to the aggregation of the following PostgreSQL RPMs:

postgresql-contrib

postgresql-devel

postgresql-docs

postgresql-jdbc

postgresql-libs

postgresql-perl

postgresql-python

postgresql-server

[編集]

Requirement: #

Requirements:

The following packages or later are required to build and/or execute Cygwin PostgreSQL:

crypt 1.1-1

cygrunsrv 1.0-1

cygwin 1.5.10-3

gcc 3.3.1-3

libncurses7 5.3-4

libreadline5 4.3-5

openssl 0.9.7d-1

perl 5.8.2-1

readline 4.3-5

zlib 1.2.1-1

Sun JDK 1.4.1 (J2SE)

Ant 1.5 (Ant)

[編集]

インストール: #

Install:

There are two types of Cygwin PostgreSQL installations -- basic and NT services. The basic installation is good for casual use on any version of Windows, but required on Windows 9x/Me. The NT services installation is good for a more production environment, but is only available on Windows NT/2000/XP. Note that this installation type is very similar to the normal Unix installation with just some Cygwin/Windows variations. You should choose the type which best meets your needs and/or is constrained by your platform.

インストール:

Cygwin の PostgreSQL をインストールするには、「基本的な」と「NTサービス」の 2つの方法がある。 「基本的な」インストールでは、ちょっと使ってみるときに向いていて、 どの Windows でも使える、また、Windows 9x/Me ではこの方法しか使えない。 「NTサービス」としてインストールするのは、開発環境向けに向いているが、 Windows NT/2000/XP しか使えない。このインストールタイプは普通のUNIXへの インストールと大変似ている...。 あなたのプラットホームで使える、用途に合った方法を選ぶべきである。

Regardless of the installation type, the first step is to add "server" to your CYGWIN environment variable setting and start cygserver. See the cygserver README:

/usr/share/doc/cygwin/cygserver.README

for more details. If the CYGWIN variable is not set correctly and/or cygserver is not running then initdb and postmaster will fail to run properly.

どのインストールタイプであっても、 最初のステップは、CYGWIN 環境変数に "server" を追加して、 cygserver を起動することである。 詳細を知るには、cygserver の README を見ること:

/usr/share/doc/cygwin/cygserver.README

もし、CYGWIN 環境変数が正確に設定されていない、あるいは cygserver が 動作していない場合、initdb や postmaster は適切には動作しない。

[編集]

basic Cygwin PostgreSQL installation #

The following is the basic Cygwin PostgreSQL installation procedure (skip if using the NT services installation below):

初歩的なCygwin PostgreSQLのインストール手順(もしNTサービスとしてインストールするなら読み飛ばすこと):

[編集]

1. cygserverをインストールと設定を行う: #

1. Install and configure cygserver:

$ cygserver-config
[編集]

2. cygserverを起動する: #

2. Start cygserver:

$ cygserver &
[編集]

3. PostgreSQLを初期化する: #

3. Initialize PostgreSQL:

$ initdb -D /var/postgresql/data
[編集]

4. PostgreSQLのpostmasterを起動する: #

4. Start the PostgreSQL postmaster:

$ postmaster -D /var/postgresql/data &
[編集]

5. PostgreSQLに接続する: #

5. Connect to PostgreSQL:

$ psql template1
[編集]

NT services Cygwin PostgreSQL insallation #

The following is the NT services Cygwin PostgreSQL installation procedure (with footnotes designated by "[n]"):

以下では、Cygwin PostgreSQLをNTサービスとしてインストールする手順を説明する (脚注は "[n]" で示す):

[編集]

1. cygserverをインストールし、NTサービスとして設定する: #

1. Install and configure cygserver as a NT service:

# cygserver-config
[編集]

2. "postgres" ユーザアカウントを作成する: #

2. Create the "postgres" user account:

# net user postgres $password /add /fullname:postgres /comment:'PostgreSQL user account' \
/homedir:"$(cygpath -w /home/postgres)" # [11]
# mkpasswd -l -u postgres >>/etc/passwd
[編集]

3. "postgres" ユーザに "サービスとしてログイン" 権限を許可する: #

3. Grant the "postgres" user the "Log on as a service" user right:

# cmd /c secpol.msc # [3] [4] [5] [12]
[編集]

4. postmaster を NTサービスとしてインストールする: #

4. Install postmaster as a NT service:

# cygrunsrv --install postmaster --path /usr/bin/postmaster \
--args "-D /var/postgresql/data -i" --dep cygserver \
--termsig INT --user postgres --shutdown # [6]
[編集]

5. PostgreSQLのデータディレクトリを作成する: #

5. Create the PostgreSQL data directory:

# mkdir -p /var/postgresql/data
[編集]

6. PostgreSQLのデータディレクトリの所有者を変更する: #

6. Change ownership of the PostgreSQL data directory:

# chown postgres /var/postgresql/data # [10]
[編集]

7. cygserver を起動する: #

7. Start cygserver:

# cygrunsrv -S cygserver # [7]
[編集]

8. PostgreSQLの初期化を行う("postgresql"アカウントで行うこと) #

8. Initialize PostgreSQL (*when running under the "postgres" account*):

$ initdb -D /var/postgresql/data
[編集]

9. postmaster を起動する: #

9. Start postmaster:

# cygrunsrv -S postmaster # [7]
[編集]

10. postmaster が動作していることを確かめる: #

10. Verify postmaster is running:

# cygrunsrv -Q postmaster  [13]
[編集]

11. PostgreSQL に接続する: #

11. Connect to PostgreSQL:

# psql -U postgres template1 # [8] [9]
[編集]

脚注 #

The following are the notes to the above:

[1] The "#" prompt indicates running as a user which is a member of the Local Administrators group.

[1] "#" プロンプトは、ローカルの Administrators グループのメンバーのユーザで 実行することを示す。

[2] The "$" prompt indicates running as the "postgres" user. Log in as "postgres" or use ssh to emulate Unix's "su" command.

[3] Sorry, but I don't know of a generally available command line way of setting user rights.

[4] On Windows 2000 and XP Pro, this starts the "Local Security Settings" applet. On Windows NT 4.0, start User Manager, select Policies, and then select User Rights...

[5] See http://support.microsoft.com/default.aspx?scid=KB;en-us;q259733 for a Microsoft KB article explaining how to configure user rights.

[6] Clean postmaster shutdown will only work with a post Cygwin 1.3.2 snapshot from 2001-Jul-28 or later.

[7] Cygwin's bin directory (e.g., C:\Cygwin\bin) must be added to the Windows NT/2000's system PATH and the machine rebooted for the SCM to find cygwin1.dll.

Cygwin の bin ディレクトリ(例えば、C:\Cygwin\bin)は Windows NT/2000 の システム PATH に追加し、SCM が cygwin1.dll を見つけさせるために マシンを再起動すること。

[8] Actually, psql can run under any user account.

[9] One can use PostgreSQL's createuser command or set PGUSER to obviate the need to specify "-U postgres" on the psql command line.

[10] Assumes that ntsec is set via the CYGWIN environment variable.

[11] $password is the password for the postgres user account.

[12] On Windows XP Home, there is no built in way to assign user rights -- use editrights instead:

$ editrights -u postgres -a SeServiceLogonRight

[12] Windows XP Home では、この方法ではユーザー権限を割り当てることができない -- かわりに、以下のように editrights を使うこと:

$ editrights -u postgres -a SeServiceLogonRight

[13] If postmaster fails to start, then examine /var/log/postmaster.log and/or the NT Event Log.

[13] もし postmaster の起動が失敗したら、/var/log/postmaster.log や Windows のイベントログを調べること。

[編集]

Source: #

Source:

As configured, the PostgreSQL source builds OOTB under Cygwin.

I also added the following files to the source archive:

CYGWIN-PATCHES/README

CYGWIN-PATCHES/build.sh

and renamed the original source archive to match Cygwin's setup.exe naming conventions.

[編集]

Build: #

Build:

This distribution has been configured as follows:

configure --enable-multibyte --with-python --with-perl --with-java \
--with-CXX --with-openssl --prefix=/usr --sysconfdir=/etc \
--datadir=/usr/share --mandir=/usr/share/man \
--docdir=/usr/share/doc/postgresql-$version

where $version is the PostgreSQL version (e.g., 7.3).

See CYGWIN-PATCHES/build.sh in the source archive for my exact build recipe for configuring, making, and packaging this distribution.

[編集]

Test: #

Test:

On NT/2000/XP, Cygwin PostgreSQL passes all regression tests.

On 9X/ME, it has been reported that Cygwin PostgreSQL hangs at random places during the regression test. Unfortunately, at the time of this writing, no one has tracked down the root cause of these hangs.

[編集]

Issues: #

Issues:

1. make check can generate spurious regression test failures due to overflowing the listen() backlog queue which generates connection refused errors. One can workaround this (Winsock) limitation, by running the regression test as follows:

1. "make check" を実行すると、listen() のバックログ・キューの オーバーフローすることにより、接続拒否エラーが発生し、 レグレッション・テストが失敗する。この(Winsock の)制限を避ける1つの 手段は、レグレッション・テストを次のようにして実行すればよい:

$ make MAX_CONNECTIONS=5 check

2. Cygwin PostgreSQL only supports the "C" locale because Cygwin itself does not fully support locales.

2. Cygwin の PostgreSQL は "C" ロケールだけをサポートしている、それは Cygwin 自体のロケールのサポートが不完全なためである。

3. Cygwin PostgreSQL can fail to start or not function properly if certain files and directories have incorrect permissions. The following usually solves these kinds of problems:

3. あるファイルまたはディレクトリが正しくないパーミッションを持つ場合、 Cygwin の PostgreSQL の起動ができなかったり、正しく動作することができない。

通常、この手の問題を解決するには、以下のようにする:

$ chmod a+rwx /tmp
$ chmod a+rx /usr/bin /usr/bin/*
$ chmod a+rw /var/log # could adversely affect other daemons
                      # 他のデーモンに影響を及ぼす

4. It may be necessary to increase cygserver's system wide maximum number of semaphores (SEMMNS). This change is affected by editing /etc/cygserver.conf, setting the following parameter:

4. cygserver の(システム全体に適用される)セマフォの最大数(SEMMNS)を増加する 必要があるかも知れません。この変更を行うには、/etc/cygserver.conf の次の パラメータを編集します:

kern.ipc.semmns 100

and restarting cygserver. Otherwise, PostgreSQL can fail to operate properly. For example, initdb will fail if postmaster is already running.

そして、PostgreSQL を適切に作動させるために cygserver を再起動します。 (そうしない場合、)例えば、postmaster がすでに稼働中のときは、 initdb が失敗してしまいます。(訳注:この項は未確認)

[編集]

Homepage: #

Homepage:

The primary PostgreSQL web site is:

http://www.postgresql.org

[編集]

Download: #

Download:

The primary PostgreSQL ftp site is:

ftp://ftp.postgresql.org

[編集]

Mailing Lists: #

Mailing Lists:

Please report problems, suggestions, etc. dependent on their nature to one of the following:

pgsql-cygwin@postgresql.org

cygwin@cygwin.com

[編集]

Maintaner: #

Maintainer:

Jason Tishler <jason@tishler.net>