Stellen Sie mit GO eine Verbindung zu Postgresql her

Starten Sie Postgre mit Docker

docker-compose.yml


version: "3"
services:
  postgres:
    image: postgres
    container_name: postgres
    ports:
      - 5432:5432
    environment:
      - POSTGRES_USER=root
      - POSTGRES_PASSWORD=password
    tty: true
    restart: always
    user: root
    volumes:
      - ./init:/docker-entrypoint-initdb.d
      - /etc/localtime:/etc/localtime:ro
  pgweb:
    image: sosedoff/pgweb
    container_name: pgweb
    ports: 
      - "8081:8081"
    environment:
      - DATABASE_URL=postgres://root:password@postgres:5432/testdb?sslmode=disable
    links: 
      - postgres:postgres
    restart: always
    depends_on:
      - postgres

Anlaufen

docker-compose up -d

Verbinden Sie sich von Go

main.go


package main

import (
    "database/sql"
    "fmt"
    _ "github.com/lib/pq"
)

const (
    // Initialize connection constants.
    HOST     = "127.0.0.1"
    DATABASE = "testdb"
    USER     = "root"
    PASSWORD = "password"
)

func checkError(err error) {
    if err != nil {
        panic(err)
    }
}

func main() {
    // Initialize connection string.
    var connectionString string = fmt.Sprintf("host=%s user=%s password=%s dbname=%s sslmode=disable", HOST, USER, PASSWORD, DATABASE)

    // Initialize connection object.
    db, err := sql.Open("postgres", connectionString)
    checkError(err)

    err = db.Ping()
    checkError(err)
    fmt.Println("Successfully created connection to database")

    // Drop previous table of same name if one exists.
    _, err = db.Exec("DROP TABLE IF EXISTS inventory;")
    checkError(err)
    fmt.Println("Finished dropping table (if existed)")

    // Create table.
    _, err = db.Exec("CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);")
    checkError(err)
    fmt.Println("Finished creating table")

    // Insert some data into table.
    sql_statement := "INSERT INTO inventory (name, quantity) VALUES ($1, $2);"
    _, err = db.Exec(sql_statement, "banana", 150)
    checkError(err)
    _, err = db.Exec(sql_statement, "orange", 154)
    checkError(err)
    _, err = db.Exec(sql_statement, "apple", 100)
    checkError(err)
    fmt.Println("Inserted 3 rows of data")
}
go run main.go

Verbinde dich mit psql

Von der Shell verbinden

psql -h localhost -U root -d postgres -p 5432

DB-Listenanzeige

\l

Stellen Sie eine Verbindung zur Ziel-DB her

\c testdb

Überprüfen Sie die aktuelle Datenbank

select current_database();

Überprüfen Sie, ob Daten enthalten sind

testdb=# select * from inventory;
 id |  name  | quantity 
----+--------+----------
  1 | banana |      150
  2 | orange |      154
  3 | apple  |      100

Referenz

https://qiita.com/hiro9/items/e6e41ec822a7077c3568 https://docs.microsoft.com/ja-jp/azure/postgresql/connect-go

Recommended Posts

Stellen Sie mit GO eine Verbindung zu Postgresql her
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Stellen Sie mit SQL Alchemy eine Verbindung zu mehreren Datenbanken her
Stellen Sie mit Pycoin eine Verbindung zu Bitcoin Testnet her
Stellen Sie mit boto eine Verbindung zu Elastic MQ her
Python mit Go
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
Stellen Sie über einen Remotedesktop eine Verbindung zu GNU / Linux her
Stellen Sie eine Verbindung zu MySQL her
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Stellen Sie mit dem Python-Interpreter von PEPPER Mac eine Verbindung zu Pfeffer her
Verwendung von SQLAlchemy / Connect mit aiomysql
Ich möchte aus verschiedenen Sprachen eine Verbindung zu PostgreSQL herstellen
Verbinden Sie Xillybus und Benutzerlogik ganz einfach mit cReComp
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Verbinden Sie Python mit MySQL
So erstellen Sie einen HTTPS-Server mit Go / Gin
Ich habe dir geschrieben, dass du das Signal mit Go sehen sollst
Zeichnen Sie die Bezier-Kurve mit Go
Konvertieren Wählen Sie die von Postgre erhaltene Abfrage mit Gehe zu JSON
Betreiben Sie den Db2-Container mit Go
Erste Schritte mit Go Assembly
Post to Slack mit Python 3
Vollbit-Suche mit Go
Scraping Go To Travel Unterkunft
Einführung in RDB mit sqlalchemy Ⅰ
Machen Sie es mit der Syntax einfach
Wie aktualisiere ich mit SQLAlchemy?
Verbinden Sie MySQL von Vagrant mit MySQL Workbench
Um gym_torcs mit ubutnu16 auszuführen
Wie man mit Theano besetzt
Herstellen einer Verbindung zu Cloud SQL PostgreSQL auf der Google Cloud Platform aus einer lokalen Umgebung mit Java
So definieren Sie Go-Variablen
[Go] Verwendung von "... (3 Perioden)"
Wie mit SQLAlchemy ändern?
Stellen Sie von Python aus eine Verbindung zu SQLite her
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
Versuchen Sie, Parfüm mit Go zu implementieren
Stellen Sie mit ssh-Verbindung vom Mac aus eine Verbindung zu centos6 auf der Virtualbox her
So trennen Sie Zeichenfolgen mit ','
Verbinden Sie den Jupyter Notebook-Kernel mit aktiviertem Jupytext mit Spyder
Stellen Sie eine Verbindung zur Tokio-Region von s3 her
Wie man RDP auf Fedora31 macht
2 Möglichkeiten, mit SessionNotCreatedException umzugehen
Wie lösche ich mit SQLAlchemy?
Verbinden Sie Raspberry Pi mit "Python" mit der Alibaba Cloud IoT Platform
Herstellen einer Verbindung zum Cloud Firestore über Google Cloud-Funktionen mit Python-Code
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen
Konvertieren Sie .ipynb in .html (mit BatchFile)
So brechen Sie RT mit tweepy ab
Schritte zur Entwicklung von Django mit VSCode
Python: So verwenden Sie Async mit
Link, um mit Python zu beginnen