概要
自分用のメモ兼、同じ環境を作りたい人用。
色々な方のものを流用して一連の流れとしてまとめました。
Formアプリケーションでの動作を想定しています。
流れ
Vagrant1.9.8をインストール
VirtualBox ver.5.1.32をインストール
VagrantのCentOS7にPostgreSQL9.6を設定
VisualBasic2019をインストール
VisualBasic2019からPostgreSQL9.6に接続
Vagrant1.9.8をインストール
下記リンクの「vagrant_1.9.8_x86_64.msi」をダウンロードしてインストール。
https://releases.hashicorp.com/vagrant/1.9.8/
VirtualBox ver.5.1.32をインストール
下記リンクの「VirtualBox 5.1.32 (released January 15 2018)」の「Windows hosts x86/AMD64」をダウンロードしてインストール。
https://www.virtualbox.org/wiki/Download_Old_Builds_5_1
VagrantのCentOS7にPostgreSQL設定
CentOS7の設定
###
vagrant box add centos/7
### 作業場所に移動 ※任意の場所
cd C:\Users\ユーザー名\Documents\Work\01_Vagrant
### Vagrantfileを格納するフォルダを作成 ※任意のフォルダ名
mkdir centos7
cd centos7
###
vagrant init centos/7
### Vagrantの立ち上げ
vagrant up
PostgreSQL9.6の設定
###
vagrant ssh
### パッケージをダウンロード
sudo yum -y install wget
sudo wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
### パッケージをインストール
sudo yum -y install pgdg-centos96-9.6-3.noarch.rpm
sudo yum -y install postgresql96-server postgresql96-devel postgresql96-contrib
### PostgreSQL9.6のデータベースを初期化と起動
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
sudo systemctl start postgresql-9.6
### PostgreSQL9.6の設定を変える
sudo vi /var/lib/pgsql/9.6/data/postgresql.conf
59行目付近: listen_addresses = '*'
63行目付近: port = 5432
※コメントアウトは外す
sudo vi /var/lib/pgsql/9.6/data/pg_hba.conf
86行目付近: host all all all trust
### PostgreSQLの再起動
sudo systemctl restart postgresql-9.6
### PostgreSQLの自動起動設定
sudo systemctl enable postgresql-9.6
### PostgreSQLユーザーの作成
sudo useradd postgres
sudo passwd postgres
※パスワードは任意
### PosgtreSQLにユーザーとDBを作成
su - postgre
psql
CREATE ROLE test_user WITH LOGIN PASSWORD 'password';
CREATE DATABASE test_db;
下記の値は任意
※ユーザー名:test_user
※パスワード:password
※DB名:test_db
### Vagrantfileに追記
config.vm.network "forwarded_port", guest: 5432, host: 5432, id:"postgres"
### 次回起動
cd C:\Users\ユーザー名\Documents\Work\01_Vagrant\centos7
vagrant up
pgAdminのインストール(必要なら)
下記リンクの「pgadmin4-4.12-x86.exe」をダウンロードしてインストール。
https://www.postgresql.org/ftp/pgadmin/pgadmin4/v4.12/windows/
VisualBasic2019をインストール
VisualBasic2019からPostgreSQLに接続
作成したプロジェクトの「参照」を右クリックし、「NuGet パッケージの管理(N)」を選択。
「参照」の検索窓に「npgsql」と入力し、一番上に出てくる「Npgsql」をインストール。
テーブル作成例
Imports Npgsql
Public Class DbTest
Dim server As String = "localhost"
Dim port As String = "5432"
Dim userId As String = "test_user"
Dim password As String = "password"
Dim database As String = "test_db"
Public Sub Create_Database()
Using conn As New NpgsqlConnection("Server=" + server + "; Port=" + port + "; User Id=" + userId + "; Password=" + password + "; Database=" + database)
conn.Open()
Try
Dim cmd As NpgsqlCommand = New NpgsqlCommand("Create Table sample(id NUMERIC, name TEXT);", conn)
cmd.ExecuteNonQuery()
Catch ex As NpgsqlException
Console.WriteLine(ex)
End Try
conn.Close()
End Using
End Sub
End Class