で。libiconv ですが、昔ながらのオプションで大丈夫です。
portsnap fetch portsnap extract portsnap fetch update
下はオプションを間違ってチェックが外れた図。その場合はちゃんと手でチェックを入れましょう。
cd /usr/ports/converters/libiconv make WITH_EXTRA_PATCHES=yes
make install make clean
cd /usr/ports/devel/gmake make make install make clean
ここで一度リブートしておきました。
cd /usr/ports/lang/perl5.26 make install make clean
ソースのtarball は /usr/local/src に展開します。
# mkdir /usr/local/pgsql # chown pgsql:pgsql /usr/local/pgsql
ここで pgsql ユーザでログインしなおします。
# mkdir /usr/local/src # chmod 777 /usr/local/src # cd /usr/local/src # tar xvzf /foobar/postgresql-11.1.tar.gz # chown -R pgsql:pgsql postgresql-11.1
% cd /usr/local/src/postgresql-11.1/ % ./configure --without-readline % gmake % gmake install
じゃ、初期化しましょう。
% mkdir /usr/local/pgsql/data % setenv PGDATA /usr/local/pgsql/data ※pgsql ユーザの .cshrc にも追加 % setenv LD_LIBRARY_PATH /usr/local/pgsql/lib ※pgsql ユーザの .cshrc にも追加
うまくいったみたいです。pgsql ユーザの ~/.cshrc で path に /usr/local/posql/bin を追加した上で createdb したら
% /usr/local/pgsql/bin/initdb --encoding=utf-8 --no-locale The files belonging to this database system will be owned by user "pgsql". This user must also own the server process. The database cluster will be initialized with locale "C". The default text search configuration will be set to "english". Data page checksums are disabled. fixing permissions on existing directory /usr/local/pgsql/data ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting dynamic shared memory implementation ... posix creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... ok WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
あ、postmaster 起動するのを忘れてたw。
% createdb foobardb createdb: could not connect to database template1: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
もちろん chmod +x はお忘れなく。リブート後、ログを確認します。
# cat /usr/local/etc/rc.d/pgsql.sh #!/bin/sh export PGCLIENTENCODING=utf-8 case $1 in start) su pgsql -c "/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/data/pgsql.log" ;; stop) su pgsql -c "/usr/local/pgsql/bin/pg_ctl stop" ;; esac
お、起動しました。これで createdb できるようになりました。めでたしめでたし。あとはアクセス制御をかけたり、DBのユーザを作ったりだとか、よしなに作業を進めればよいということになります。
% cat /usr/local/pgsql/data/pgsql.log 2018-11-21 18:08:34.933 JST [662] LOG: listening on IPv6 address "::1", port 5432 2018-11-21 18:08:34.936 JST [662] LOG: listening on IPv4 address "127.0.0.1", port 5432 2018-11-21 18:08:34.942 JST [662] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" 2018-11-21 18:08:35.001 JST [663] LOG: database system was shut down at 2018-11-21 18:07:49 JST 2018-11-21 18:08:35.037 JST [662] LOG: database system is ready to accept connections