0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

初心者の僕がGO言語でpostgresSQLをいじるまで。

Posted at

#PostgreSQLの準備

###Goの設定
#####PostgreSQL用のドライバをインストール

go get github.com/lib/pq

#####main.goの中身

package main

import (
	"database/sql"
	
	_ "github.com/lib/pq"
)
var Db *sql.DB
var err error

type Person struct {
	Name string
	Age int
}

func main()  {
	//sqlの作成
	Db, err = sql.Open("postgres", "user=test_user dbname=testdb password=8860 sslmode=disable")

	//エラーハンドリングとsqlとgoのリンク
	if err != nil {
		log.Panicln(err)
	}
	defer Db.Close() 

######ドライバとは..
同じ初学者の方は共感頂けるのではないでしょうか。ドライバって何?笑
G先生(Google)では、PCと外部機器をつなぐための橋渡しをするのがドライバーの役割です。とありましたがこの場合goとPostgreSQLを繋ぐために必要だと解釈しています。

####macの場合

######PostgreSQLのインストール

brew install postgresql

######文字コードをUTF-8でデータベースの初期化

initdb /usr/local/var/postgres -E utf8

######Postgresのバージョンチェック

postgres --version

#####新しいデータベースを作成する。 
この例ではtest_dbという名前です。

$ createdb test_db

#####作成したデータベースを開く

$ psql test_db

僕は最初にずっとここでつまずていて、、

$ psql

エラー文
psql: error: FATAL:  database "macの名前" does not exist

訳.
"macの名前"の名前のデータベースが存在しません。
作った覚えないんだけど、、、ってずっと思っていてなかなか前に進めませんでした。psqlだけで開こうとすると"macの名前"のデータベースを探そうとするのかな??
試しに"macの名前"で作成したらpsqlで入れたので多分そうです。

######ユーザー作成
データベースを開くことができたらこんな画面になると思います

psql (13.2)
Type "help" for help.

mydb2=#

おめでとうございます。あなたはデータベースの中にいます。
僕は初めで開けた時嬉しすぎで腕立てしました。(有り余る嬉しさを筋肉に置換する)

create user test_user password '8860';

test_userと'8860'は自由に設定出来ます。
user名とパスワードを作ります。
何かのアプリに登録するみたいにpsqlもこういうのが必要なんですね。

ここで一度情報を確認します。

\l

すると

                             List of databases
     Name      |  Owner   | Encoding | Collate | Ctype |   Access privileges   
---------------+----------+----------+---------+-------+-----------------------
 postgres      | mac名前    | UTF8     | C       | C     | 
 testdb        | mac名前    | UTF8     | C       | C     | 
 template0     | mac名前    | UTF8     | C       | C     | =c/名前         +
               |          |          |         |       | 伏せます
 template1     | mac名前    | UTF8     | C       | C     | =c/名前          +
               |          |          |         |       | 伏せます
(4 rows)

他にどんなものがあるにか確認できます。先程作成したものもありますね。
ちなみに

\q

でpsqlから抜けれます。

select usename from pg_user;

こちらはuserの確認になります。test_userが表示されたらおっけい。

#####作成したuserでデータベースを作る

create database testdb owner test_user;

これで\lnにて確認するとtest_userでデータベースが作られています。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?